diff options
author | Soeren Sandmann <sandmann@daimi.au.dk> | 2002-12-14 11:01:08 +0000 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@src.gnome.org> | 2002-12-14 11:01:08 +0000 |
commit | 41e9cfcd953e5790b0d6316e174ed3970a5fe577 (patch) | |
tree | daf959120f91e23d82681aad1de9352668b16a8b /gtk/gtkaccellabel.c | |
parent | ad3ca8430dfd7e262512ee89e6da28a090837ce7 (diff) | |
download | gtk+-41e9cfcd953e5790b0d6316e174ed3970a5fe577.tar.gz |
Don't recalculate the acceleration label in an idle handler.
Sat Dec 14 01:22:05 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkaccellabel.[ch] (gtk_accel_label_refetch): Don't
recalculate the acceleration label in an idle handler.
Diffstat (limited to 'gtk/gtkaccellabel.c')
-rw-r--r-- | gtk/gtkaccellabel.c | 39 |
1 files changed, 2 insertions, 37 deletions
diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c index 92df11be27..7c68f9a946 100644 --- a/gtk/gtkaccellabel.c +++ b/gtk/gtkaccellabel.c @@ -198,7 +198,6 @@ gtk_accel_label_get_property (GObject *object, static void gtk_accel_label_init (GtkAccelLabel *accel_label) { - accel_label->queue_id = 0; accel_label->accel_padding = 3; accel_label->accel_widget = NULL; accel_label->accel_closure = NULL; @@ -236,11 +235,6 @@ gtk_accel_label_finalize (GObject *object) { GtkAccelLabel *accel_label = GTK_ACCEL_LABEL (object); - if (accel_label->queue_id) - { - gtk_idle_remove (accel_label->queue_id); - accel_label->queue_id = 0; - } g_free (accel_label->accel_string); G_OBJECT_CLASS (parent_class)->finalize (object); @@ -430,17 +424,6 @@ gtk_accel_label_set_accel_widget (GtkAccelLabel *accel_label, } static void -gtk_accel_label_queue_refetch (GtkAccelLabel *accel_label) -{ - g_return_if_fail (GTK_IS_ACCEL_LABEL (accel_label)); - - if (accel_label->queue_id == 0) - accel_label->queue_id = gtk_idle_add_priority (G_PRIORITY_HIGH_IDLE, - (GtkFunction) gtk_accel_label_refetch_idle, - accel_label); -} - -static void check_accel_changed (GtkAccelGroup *accel_group, guint keyval, GdkModifierType modifier, @@ -448,7 +431,7 @@ check_accel_changed (GtkAccelGroup *accel_group, GtkAccelLabel *accel_label) { if (accel_closure == accel_label->accel_closure) - gtk_accel_label_queue_refetch (accel_label); + gtk_accel_label_refetch (accel_label); } /** @@ -486,24 +469,12 @@ gtk_accel_label_set_accel_closure (GtkAccelLabel *accel_label, G_CALLBACK (check_accel_changed), accel_label, 0); } - gtk_accel_label_queue_refetch (accel_label); + gtk_accel_label_refetch (accel_label); g_object_notify (G_OBJECT (accel_label), "accel_closure"); } } static gboolean -gtk_accel_label_refetch_idle (GtkAccelLabel *accel_label) -{ - gboolean retval; - - GDK_THREADS_ENTER (); - retval = gtk_accel_label_refetch (accel_label); - GDK_THREADS_LEAVE (); - - return retval; -} - -static gboolean find_accel (GtkAccelKey *key, GClosure *closure, gpointer data) @@ -596,12 +567,6 @@ gtk_accel_label_refetch (GtkAccelLabel *accel_label) if (!accel_label->accel_string) accel_label->accel_string = g_strdup (""); - if (accel_label->queue_id) - { - gtk_idle_remove (accel_label->queue_id); - accel_label->queue_id = 0; - } - gtk_widget_queue_resize (GTK_WIDGET (accel_label)); return FALSE; |