Author: post
Date: 2010-10-16 14:01:03 +0200 (Sat, 16 Oct 2010)
New Revision: 3558

Modified:
   trunk/src/rs-store.c
Log:
Keep track of blocked signal to avoid gdk warning when loading single image.

Modified: trunk/src/rs-store.c
===================================================================
--- trunk/src/rs-store.c        2010-10-16 11:50:55 UTC (rev 3557)
+++ trunk/src/rs-store.c        2010-10-16 12:01:03 UTC (rev 3558)
@@ -90,6 +90,7 @@
        GString *tooltip_text;
        GtkTreePath *tooltip_last_path;
        volatile gint jobs_to_do;
+       gboolean counter_blocked;               /* Only access when thread has 
gdk lock */
 };
 
 /* Classes to user for io-system */ 
@@ -214,6 +215,7 @@
        gboolean show_filenames;
        GtkWidget *label_priorities;
 
+       store->counter_blocked = FALSE;
        store->notebook = GTK_NOTEBOOK(gtk_notebook_new());
        store->store = gtk_list_store_new (NUM_COLUMNS,
                GDK_TYPE_PIXBUF,
@@ -1241,6 +1243,7 @@
        gtk_label_set_markup(GTK_LABEL(store->label[4]), _("U 
<small>(-)</small>"));
        gtk_label_set_markup(GTK_LABEL(store->label[5]), _("D 
<small>(-)</small>"));
        g_signal_handler_block(store->store, store->counthandler);
+       store->counter_blocked = TRUE;
 
        /* While we're loading, we keep the IO lock to ourself. We need to read 
very basic meta and directory data */
        rs_io_lock();
@@ -2465,7 +2468,10 @@
        {
                gdk_threads_enter();
                /* FIXME: Refilter as this point - not before */
-               g_signal_handler_unblock(job->store->store, 
job->store->counthandler);
+               if (job->store->counter_blocked)
+                       g_signal_handler_unblock(job->store->store, 
job->store->counthandler);
+               job->store->counter_blocked = FALSE;
+
                count_priorities(GTK_TREE_MODEL(job->store->store), NULL, NULL, 
job->store->label);
                RS_STORE_SORT_METHOD sort_method;
                if (rs_conf_get_integer(CONF_STORE_SORT_METHOD, 
(gint*)&sort_method))


_______________________________________________
Rawstudio-commit mailing list
Rawstudio-commit@rawstudio.org
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to