diff -Nuard control-center-2.4.0.orig/capplets/theme-switcher/gnome-theme-installer.c control-center-2.4.0/capplets/theme-switcher/gnome-theme-installer.c --- control-center-2.4.0.orig/capplets/theme-switcher/gnome-theme-installer.c 2003-01-16 08:40:29.000000000 +0100 +++ control-center-2.4.0/capplets/theme-switcher/gnome-theme-installer.c 2003-11-20 00:04:11.684669168 +0100 @@ -116,16 +116,38 @@ if (response_id == 0) { icon_theme = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget), "icon_theme")); 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) + if (raw == NULL || strlen (raw) <= 0) { + GtkWidget *dialog; + + dialog = gtk_message_dialog_new (NULL, + GTK_DIALOG_MODAL, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, + _("No theme file location specified to install")); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); return; + + } + 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); else filename = g_strdup (raw); - if (filename == NULL) - return; + if (filename == NULL) { + GtkWidget *dialog; + dialog = gtk_message_dialog_new (NULL, + GTK_DIALOG_MODAL, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, + _("The theme file location specified to install is invalid")); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); + return; + } + src_uri = gnome_vfs_uri_new (filename); base = gnome_vfs_uri_extract_short_name (src_uri); src = g_list_append (NULL, src_uri);