summaryrefslogtreecommitdiff
path: root/gtk/gtkaccellabel.c
diff options
context:
space:
mode:
authorSoeren Sandmann <sandmann@daimi.au.dk>2002-12-14 11:01:08 +0000
committerSøren Sandmann Pedersen <ssp@src.gnome.org>2002-12-14 11:01:08 +0000
commit41e9cfcd953e5790b0d6316e174ed3970a5fe577 (patch)
treedaf959120f91e23d82681aad1de9352668b16a8b /gtk/gtkaccellabel.c
parentad3ca8430dfd7e262512ee89e6da28a090837ce7 (diff)
downloadgtk+-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.c39
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;