gail: Fix the atk_add_key_event_listener implementation

Based on a patch by Alejandro Piñeiro Iglesias,
https://bugzilla.gnome.org/show_bug.cgi?id=599907
This commit is contained in:
Matthias Clasen 2011-02-16 22:57:25 -05:00
parent 4757979075
commit 66db0d698a

View File

@ -282,16 +282,18 @@ gail_key_snooper (GtkWidget *the_widget, GdkEventKey *event, gpointer func_data)
static guint
gail_util_add_key_event_listener (AtkKeySnoopFunc listener,
gpointer data)
gpointer data)
{
static guint key=0;
static guint key = 0;
if (!key_listener_list)
{
key_listener_list = g_hash_table_new (NULL, NULL);
key_listener_list = g_hash_table_new (NULL, NULL);
key_snooper_id = gtk_key_snooper_install (gail_key_snooper, data);
}
g_hash_table_insert (key_listener_list, GUINT_TO_POINTER (key++), (gpointer) listener);
key++;
g_hash_table_insert (key_listener_list, GUINT_TO_POINTER (key), (gpointer) listener);
/* XXX: we don't check to see if n_listeners > MAXUINT */
return key;
}