diff --git a/capplets/theme-switcher/ChangeLog b/capplets/theme-switcher/ChangeLog index f1d7e8382..550074831 100644 --- a/capplets/theme-switcher/ChangeLog +++ b/capplets/theme-switcher/ChangeLog @@ -1,3 +1,12 @@ +Sat Feb 7 00:34:45 2004 Jonathan Blandford + + * gnome-theme-manager.c (load_meta_themes): fix #106424 + +Fri Feb 6 20:49:25 2004 Jonathan Blandford + + * gnome-theme-details.c (gnome_theme_details_init): Patch from + Frederic Crozat to install themes in the right place. + Wed Feb 4 00:05:11 2004 Jonathan Blandford * gnome-theme-manager.c (load_meta_themes): exit if it is a diff --git a/capplets/theme-switcher/gnome-theme-details.c b/capplets/theme-switcher/gnome-theme-details.c index a814d47ca..2c8e23df3 100644 --- a/capplets/theme-switcher/gnome-theme-details.c +++ b/capplets/theme-switcher/gnome-theme-details.c @@ -318,13 +318,13 @@ gnome_theme_details_init (void) /* window manager themes */ widget = WID ("window_install_button"); - g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_icon_theme_installer_run_cb), parent); + g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_installer_run_cb), parent); widget = WID ("window_manage_button"); g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_manager_window_show_manage_themes), dialog); /* icon themes */ widget = WID ("icon_install_button"); - g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_installer_run_cb), parent); + g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_icon_theme_installer_run_cb), parent); widget = WID ("icon_manage_button"); g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_manager_icon_show_manage_themes), dialog); diff --git a/capplets/theme-switcher/gnome-theme-manager.c b/capplets/theme-switcher/gnome-theme-manager.c index 6dd3b6a33..5ae578a34 100644 --- a/capplets/theme-switcher/gnome-theme-manager.c +++ b/capplets/theme-switcher/gnome-theme-manager.c @@ -374,8 +374,20 @@ load_meta_themes (GtkTreeView *tree_view, else model_meta_theme_info = gnome_theme_meta_info_find (name); g_free (name); + + /* The theme was removed, and we haven't removed it from the list yet. */ + if (model_meta_theme_info == NULL) + { + GtkTreeIter iter_to_remove; + + iter_to_remove = iter; + valid = gtk_tree_model_iter_next (model, &iter); + gtk_list_store_remove (GTK_LIST_STORE (model), &iter_to_remove); + + goto end_of_loop; + } } - + /* start comparing values */ if (list && valid) {