add some safety checks for invalid files.
2002-05-16 Jody Goldberg <jody@gnome.org> * theme-switcher.c (install_dialog_response) : add some safety checks for invalid files.
This commit is contained in:
parent
3f31e2bdbd
commit
cddec07697
2 changed files with 15 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2002-05-16 Jody Goldberg <jody@gnome.org>
|
||||||
|
|
||||||
|
* theme-switcher.c (install_dialog_response) : add some safety checks
|
||||||
|
for invalid files.
|
||||||
|
|
||||||
2002-05-16 Jody Goldberg <jody@gnome.org>
|
2002-05-16 Jody Goldberg <jody@gnome.org>
|
||||||
|
|
||||||
* theme-switcher.c (cb_dialog_response) : fix path.
|
* theme-switcher.c (cb_dialog_response) : fix path.
|
||||||
|
|
|
@ -375,16 +375,19 @@ install_dialog_response (GtkWidget *widget, int response_id, gpointer data)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_widget_hide (widget);
|
if (response_id == 0) {
|
||||||
|
|
||||||
switch (response_id)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
raw = gtk_entry_get_text (GTK_ENTRY (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (WID ("install_theme_picker")))));
|
raw = gtk_entry_get_text (GTK_ENTRY (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (WID ("install_theme_picker")))));
|
||||||
|
if (raw == NULL || strlen (raw) <= 0)
|
||||||
|
return;
|
||||||
|
|
||||||
if (strncmp (raw, "http://", 7) && strncmp (raw, "ftp://", 6) && *raw != '/')
|
if (strncmp (raw, "http://", 7) && strncmp (raw, "ftp://", 6) && *raw != '/')
|
||||||
filename = gnome_file_entry_get_full_path (GNOME_FILE_ENTRY (WID ("install_theme_picker")), TRUE);
|
filename = gnome_file_entry_get_full_path (GNOME_FILE_ENTRY (WID ("install_theme_picker")), TRUE);
|
||||||
else
|
else
|
||||||
filename = g_strdup (raw);
|
filename = g_strdup (raw);
|
||||||
|
if (filename == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
gtk_widget_hide (widget);
|
||||||
|
|
||||||
src_uri = gnome_vfs_uri_new (filename);
|
src_uri = gnome_vfs_uri_new (filename);
|
||||||
base = gnome_vfs_uri_extract_short_name (src_uri);
|
base = gnome_vfs_uri_extract_short_name (src_uri);
|
||||||
|
@ -409,10 +412,8 @@ install_dialog_response (GtkWidget *widget, int response_id, gpointer data)
|
||||||
g_signal_connect (G_OBJECT (dlg), "done",
|
g_signal_connect (G_OBJECT (dlg), "done",
|
||||||
G_CALLBACK (transfer_done_cb), path);
|
G_CALLBACK (transfer_done_cb), path);
|
||||||
gtk_widget_show (dlg);
|
gtk_widget_show (dlg);
|
||||||
break;
|
} else
|
||||||
default:
|
gtk_widget_hide (widget);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue