[Xfce4-commits] r24715 - squeeze/trunk/src
Stephan Arts
stephan at xfce.org
Wed Jan 24 08:47:28 CET 2007
Author: stephan
Date: 2007-01-24 07:47:27 +0000 (Wed, 24 Jan 2007)
New Revision: 24715
Modified:
squeeze/trunk/src/notebook.c
squeeze/trunk/src/widget_factory.c
Log:
fixed bug where archive_store does not exist when refresh is completed early (like what happends with bare .gz archives)
Modified: squeeze/trunk/src/notebook.c
===================================================================
--- squeeze/trunk/src/notebook.c 2007-01-23 23:25:57 UTC (rev 24714)
+++ squeeze/trunk/src/notebook.c 2007-01-24 07:47:27 UTC (rev 24715)
@@ -635,13 +635,20 @@
cb_notebook_archive_refreshed(LSQArchive *archive, GtkTreeView *treeview)
{
GtkTreeModel *archive_store = gtk_tree_view_get_model(treeview);
- g_object_ref(archive_store);
- gtk_tree_view_set_model(treeview, NULL);
- sq_archive_store_set_archive(SQ_ARCHIVE_STORE(archive_store), archive);
- gtk_tree_view_set_model(treeview, archive_store);
- g_object_unref(archive_store);
+ /*
+ * Some archives are done refreshing so fast there is not even an
+ * archive store to accomodate them.
+ */
+ if(archive_store)
+ {
+ g_object_ref(archive_store);
+ gtk_tree_view_set_model(treeview, NULL);
+ sq_archive_store_set_archive(SQ_ARCHIVE_STORE(archive_store), archive);
+ gtk_tree_view_set_model(treeview, archive_store);
+ g_object_unref(archive_store);
+ sq_notebook_treeview_reset_columns(archive, treeview);
+ }
- sq_notebook_treeview_reset_columns(archive, treeview);
}
static void
Modified: squeeze/trunk/src/widget_factory.c
===================================================================
--- squeeze/trunk/src/widget_factory.c 2007-01-23 23:25:57 UTC (rev 24714)
+++ squeeze/trunk/src/widget_factory.c 2007-01-24 07:47:27 UTC (rev 24715)
@@ -133,7 +133,7 @@
g_object_set_data(G_OBJECT(check), SQ_PROPERTY_SPEC_DATA, pspec);
g_signal_connect(G_OBJECT(check), "toggled", G_CALLBACK(cb_sq_widget_factory_property_changed), obj);
g_signal_connect(obj, "notify", G_CALLBACK(cb_sq_widget_factory_property_notify), check);
- g_signal_connect(GTK_OBJECT(check), "dispose", G_CALLBACK(cb_sq_widget_factory_widget_destroyed), obj);
+ g_signal_connect(GTK_OBJECT(check), "destroy", G_CALLBACK(cb_sq_widget_factory_widget_destroyed), obj);
const gchar *large_tip = g_param_spec_get_blurb(pspec);
gchar *small_tip = NULL;
@@ -995,6 +995,7 @@
static void
cb_sq_widget_factory_widget_destroyed(GtkObject *obj, gpointer user_data)
{
+ /* FIXME: broken on shutdown */
if(user_data)
{
g_signal_handlers_disconnect_by_func(user_data, cb_sq_widget_factory_property_notify, obj);
More information about the Xfce4-commits
mailing list