[gtk+] a11y: Fix up listener registration minimally
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] a11y: Fix up listener registration minimally
- Date: Mon, 5 Sep 2011 15:57:33 +0000 (UTC)
commit f1476f31fe2f03c8e73118d41d0c6c3eafd6218c
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Sep 5 11:54:41 2011 -0400
a11y: Fix up listener registration minimally
For god-knows-what reason, at-spi is trying various formats
of strings when registering listeners, triggering g_warnings()
from gailutil code. Stop doing that.
Also, don't leak temporary string arrays that are a side-effect
of passing parameters around as formatted strings.
https://bugzilla.gnome.org/show_bug.cgi?id=658168
gtk/a11y/gailutil.c | 19 +++++++++++--------
1 files changed, 11 insertions(+), 8 deletions(-)
---
diff --git a/gtk/a11y/gailutil.c b/gtk/a11y/gailutil.c
index e9ca92b..8cba1c2 100644
--- a/gtk/a11y/gailutil.c
+++ b/gtk/a11y/gailutil.c
@@ -81,12 +81,12 @@ add_listener (GSignalEmissionHook listener,
}
else
{
- g_warning("Invalid signal type %s\n", signal_name);
+ g_warning ("Invalid signal type %s\n", signal_name);
}
}
else
{
- g_warning("Invalid object type %s\n", object_type);
+ g_warning ("Invalid object type %s\n", object_type);
}
return rc;
}
@@ -271,7 +271,10 @@ gail_util_add_global_event_listener (GSignalEmissionHook listener,
split_string = g_strsplit (event_type, ":", 3);
- rc = add_listener (listener, split_string[1], split_string[2], event_type);
+ if (g_strv_length (split_string) == 3)
+ rc = add_listener (listener, split_string[1], split_string[2], event_type);
+
+ g_strfreev (split_string);
return rc;
}
@@ -301,19 +304,19 @@ gail_util_remove_global_event_listener (guint remove_listener)
}
else
{
- g_warning("Invalid listener hook_id %ld or signal_id %d\n",
- listener_info->hook_id, listener_info->signal_id);
+ g_warning ("Invalid listener hook_id %ld or signal_id %d\n",
+ listener_info->hook_id, listener_info->signal_id);
}
}
else
{
- g_warning("No listener with the specified listener id %d",
- remove_listener);
+ g_warning ("No listener with the specified listener id %d",
+ remove_listener);
}
}
else
{
- g_warning("Invalid listener_id %d", remove_listener);
+ g_warning ("Invalid listener_id %d", remove_listener);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]