]> Pileus Git - ~andy/gtk/commitdiff
Fix "active" property not being notified
authorBastien Nocera <hadess@hadess.net>
Wed, 14 Oct 2009 16:46:11 +0000 (17:46 +0100)
committerBastien Nocera <hadess@hadess.net>
Wed, 14 Oct 2009 16:47:02 +0000 (17:47 +0100)
And setting it FALSE starting the spinning when it should
stop it.

gtk/gtkspinner.c

index ec3ebb31b63afbc8ed66c1cd7396fe11a73ab1dd..63a6477265e08db354e2dd14575ff8f4bf5a5cd6 100644 (file)
@@ -151,7 +151,10 @@ gtk_spinner_set_property (GObject      *object,
   switch (param_id)
     {
       case PROP_ACTIVE:
-        gtk_spinner_start (GTK_SPINNER (object));
+        if (g_value_get_boolean (value))
+          gtk_spinner_start (GTK_SPINNER (object));
+        else
+          gtk_spinner_stop (GTK_SPINNER (object));
         break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
@@ -496,6 +499,7 @@ gtk_spinner_start (GtkSpinner *spinner)
       return;
     }
   priv->timeout = gdk_threads_add_timeout (1000 / priv->num_steps, gtk_spinner_timeout, spinner);
+  g_object_notify (G_OBJECT (spinner), "active");
 }
 
 /**
@@ -519,6 +523,7 @@ gtk_spinner_stop (GtkSpinner *spinner)
     }
   g_source_remove (priv->timeout);
   priv->timeout = 0;
+  g_object_notify (G_OBJECT (spinner), "active");
 }
 
 #define __GTK_SPINNER_C__