]> Pileus Git - ~andy/gtk/commitdiff
Don't recalculate the acceleration label in an idle handler.
authorSoeren Sandmann <sandmann@daimi.au.dk>
Sat, 14 Dec 2002 11:01:08 +0000 (11:01 +0000)
committerSøren Sandmann Pedersen <ssp@src.gnome.org>
Sat, 14 Dec 2002 11:01:08 +0000 (11:01 +0000)
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.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkaccellabel.c
gtk/gtkaccellabel.h

index 38ee76787f475838a073e84591f60801523b5077..9cc03e0c5c4439d92a5efe30fc938dac49f3e9b1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
 Sat Dec 14 01:00:12 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkmenu.c (gtk_menu_position): Handle the case
index 38ee76787f475838a073e84591f60801523b5077..9cc03e0c5c4439d92a5efe30fc938dac49f3e9b1 100644 (file)
@@ -1,3 +1,8 @@
+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.
+
 Sat Dec 14 01:00:12 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkmenu.c (gtk_menu_position): Handle the case
index 38ee76787f475838a073e84591f60801523b5077..9cc03e0c5c4439d92a5efe30fc938dac49f3e9b1 100644 (file)
@@ -1,3 +1,8 @@
+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.
+
 Sat Dec 14 01:00:12 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkmenu.c (gtk_menu_position): Handle the case
index 38ee76787f475838a073e84591f60801523b5077..9cc03e0c5c4439d92a5efe30fc938dac49f3e9b1 100644 (file)
@@ -1,3 +1,8 @@
+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.
+
 Sat Dec 14 01:00:12 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkmenu.c (gtk_menu_position): Handle the case
index 38ee76787f475838a073e84591f60801523b5077..9cc03e0c5c4439d92a5efe30fc938dac49f3e9b1 100644 (file)
@@ -1,3 +1,8 @@
+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.
+
 Sat Dec 14 01:00:12 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkmenu.c (gtk_menu_position): Handle the case
index 38ee76787f475838a073e84591f60801523b5077..9cc03e0c5c4439d92a5efe30fc938dac49f3e9b1 100644 (file)
@@ -1,3 +1,8 @@
+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.
+
 Sat Dec 14 01:00:12 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkmenu.c (gtk_menu_position): Handle the case
index 92df11be2788c5de10e3f9ce07c5f8c80341eea4..7c68f9a946e1076985173eab6cdc3c4f2f75f908 100644 (file)
@@ -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);
@@ -429,17 +423,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,
@@ -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,23 +469,11 @@ 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,
@@ -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;
index 08826d439460757be90d2086e5aad041aa5022b6..9d15ba6a74116030b5d298edf1164142e2e68758 100644 (file)
@@ -54,7 +54,7 @@ struct _GtkAccelLabel
 {
   GtkLabel label;
 
-  guint                 queue_id;
+  guint                 gtk_reserved;
   guint                 accel_padding;
   GtkWidget     *accel_widget;
   GClosure     *accel_closure;