]> Pileus Git - ~andy/gtk/commitdiff
a11y: Invoke key snooper directly
authorBenjamin Otte <otte@redhat.com>
Thu, 19 Jan 2012 09:31:52 +0000 (10:31 +0100)
committerBenjamin Otte <otte@redhat.com>
Thu, 19 Jan 2012 09:32:21 +0000 (10:32 +0100)
Gets around the deprecated function warnings.

gtk/a11y/gailutil.c
gtk/a11y/gailutil.h
gtk/gtkmain.c

index 8cba1c21f3be85a6afd82646e0bb29b64beb9fba..0d27c4de183575a370ee3121dec592e39be84e22 100644 (file)
@@ -30,7 +30,6 @@
 static GHashTable *listener_list = NULL;
 static gint listener_idx = 1;
 static GSList *key_listener_list = NULL;
-static guint key_snooper_id = 0;
 
 typedef struct _GailUtilListenerInfo GailUtilListenerInfo;
 typedef struct _GailKeyEventInfo GailKeyEventInfo;
@@ -368,10 +367,9 @@ typedef struct {
   guint           key;
 } KeyEventListener;
 
-static gint
-gail_key_snooper (GtkWidget   *the_widget,
-                  GdkEventKey *event,
-                  gpointer     data)
+gboolean
+_gail_util_key_snooper (GtkWidget   *the_widget,
+                        GdkEventKey *event)
 {
   GSList *l;
   AtkKeyEventStruct *atk_event;
@@ -399,9 +397,6 @@ gail_util_add_key_event_listener (AtkKeySnoopFunc  listener_func,
   static guint key = 0;
   KeyEventListener *listener;
 
-  if (key_snooper_id == 0)
-    key_snooper_id = gtk_key_snooper_install (gail_key_snooper, NULL);
-
   key++;
 
   listener = g_slice_new0 (KeyEventListener);
@@ -431,12 +426,6 @@ gail_util_remove_key_event_listener (guint listener_key)
           break;
         }
     }
-
-  if (key_listener_list == NULL)
-    {
-      gtk_key_snooper_remove (key_snooper_id);
-      key_snooper_id = 0;
-    }
 }
 
 static AtkObject *
index d835b17aeeec6bd879259ed0d9006e4a4083702e..a2b8b9100741b160254a2ef74d9954f1e927dd7a 100644 (file)
@@ -26,6 +26,9 @@ G_BEGIN_DECLS
 
 void _gail_util_install (void);
 
+gboolean  _gail_util_key_snooper (GtkWidget   *the_widget,
+                                  GdkEventKey *event);
+
 G_END_DECLS
 
 #endif /* __GAIL_UTIL_H__ */
index d6c5f72e2efd6cdfcd5214829f9f9e57ac6db62d..99d3ce1ebd01c3ee647d8c406bc7da0e432dd448 100644 (file)
 #include "gtkwidgetprivate.h"
 #include "gtkwindowprivate.h"
 
+#include "a11y/gailutil.h"
 
 /* Private type definitions
  */
@@ -2206,6 +2207,8 @@ gtk_invoke_key_snoopers (GtkWidget *grab_widget,
   GSList *slist;
   gint return_val = FALSE;
 
+  return_val = _gail_util_key_snooper (grab_widget, event);
+
   slist = key_snoopers;
   while (slist && !return_val)
     {