From 007bde5c1d81d182af3c50d083899e27624e2df3 Mon Sep 17 00:00:00 2001 From: Mike Newman Date: Thu, 28 Oct 2004 18:20:17 +0000 Subject: [PATCH] Fix for #148895 --- capplets/theme-switcher/ChangeLog | 6 ++++++ capplets/theme-switcher/gnome-theme-installer.c | 17 +++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/capplets/theme-switcher/ChangeLog b/capplets/theme-switcher/ChangeLog index f9d675d8b..02a5834da 100644 --- a/capplets/theme-switcher/ChangeLog +++ b/capplets/theme-switcher/ChangeLog @@ -1,3 +1,9 @@ +2004-10-28 Mike Newman + + * gnome-theme-installer.c: (transfer_done_cb) install themes named + .tgz correctly. Show a dialog and remove the file from .themes if the + theme could not be installed (Closes: #148895). + 2004-10-27 Sebastien Bacher * gnome-theme-installer.c: (transfer_done_targz_idle_cb), diff --git a/capplets/theme-switcher/gnome-theme-installer.c b/capplets/theme-switcher/gnome-theme-installer.c index 1bb23d843..222c33fd6 100644 --- a/capplets/theme-switcher/gnome-theme-installer.c +++ b/capplets/theme-switcher/gnome-theme-installer.c @@ -87,12 +87,25 @@ transfer_done_tarbz2_idle_cb (gpointer data) static void transfer_done_cb (GtkWidget *dlg, gchar *path) { + GtkWidget *dialog; int len = strlen (path); + gtk_widget_destroy (dlg); if (path && len > 7 && !strcmp (path + len - 7, ".tar.gz")) g_idle_add (transfer_done_targz_idle_cb, path); - if (path && len > 8 && !strcmp (path + len - 8, ".tar.bz2")) + else if (path && len > 4 && !strcmp (path + len - 4, ".tgz")) + g_idle_add (transfer_done_targz_idle_cb, path); + else if (path && len > 8 && !strcmp (path + len - 8, ".tar.bz2")) g_idle_add (transfer_done_tarbz2_idle_cb, path); - gtk_widget_destroy (dlg); + else { + dialog = gtk_message_dialog_new (NULL, + GTK_DIALOG_MODAL, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, + _("This theme is not in a supported format.")); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); + gnome_vfs_unlink (path); + } } static void