diff options
-rw-r--r-- | atspi/atspi-accessible.c | 5 | ||||
-rw-r--r-- | atspi/atspi-event-listener.c | 32 | ||||
-rw-r--r-- | atspi/atspi-misc-private.h | 2 | ||||
-rw-r--r-- | atspi/atspi-misc.c | 30 |
4 files changed, 37 insertions, 32 deletions
diff --git a/atspi/atspi-accessible.c b/atspi/atspi-accessible.c index fd6737d5..de99fbb7 100644 --- a/atspi/atspi-accessible.c +++ b/atspi/atspi-accessible.c @@ -50,6 +50,7 @@ screen_reader_signal_watcher (GSignalInvocationHint *signal_hint, DBusMessageIter iter, iter_struct, iter_variant, iter_array; dbus_int32_t detail1, detail2; const char *detail = ""; + gchar *dbus_name; object = g_value_get_object (param_values + 0); g_return_val_if_fail (ATSPI_IS_ACCESSIBLE(object), FALSE); @@ -60,9 +61,11 @@ screen_reader_signal_watcher (GSignalInvocationHint *signal_hint, detail2 = g_value_get_int (param_values + 2); accessible = ATSPI_ACCESSIBLE (object); + dbus_name = _atspi_strdup_and_adjust_for_dbus (name); signal = dbus_message_new_signal (ATSPI_DBUS_PATH_SCREEN_READER, ATSPI_DBUS_INTERFACE_EVENT_SCREEN_READER, - "RegionChanged"); + dbus_name); + g_free (dbus_name); dbus_message_iter_init_append (signal, &iter); dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &detail); dbus_message_iter_append_basic (&iter, DBUS_TYPE_INT32, &detail1); diff --git a/atspi/atspi-event-listener.c b/atspi/atspi-event-listener.c index 249890b6..03e930ae 100644 --- a/atspi/atspi-event-listener.c +++ b/atspi/atspi-event-listener.c @@ -332,40 +332,10 @@ demarshal_rect (DBusMessageIter *iter, AtspiRect *rect) return TRUE; } -static gchar * -strdup_and_adjust_for_dbus (const char *s) -{ - gchar *d = g_strdup (s); - gchar *p; - int parts = 0; - - if (!d) - return NULL; - - for (p = d; *p; p++) - { - if (*p == '-') - { - memmove (p, p + 1, g_utf8_strlen (p, -1)); - *p = toupper (*p); - } - else if (*p == ':') - { - parts++; - if (parts == 2) - break; - p [1] = toupper (p [1]); - } - } - - d [0] = toupper (d [0]); - return d; -} - static gboolean convert_event_type_to_dbus (const char *eventType, char **categoryp, char **namep, char **detailp, GPtrArray **matchrule_array) { - gchar *tmp = strdup_and_adjust_for_dbus (eventType); + gchar *tmp = _atspi_strdup_and_adjust_for_dbus (eventType); char *category = NULL, *name = NULL, *detail = NULL; char *saveptr = NULL; diff --git a/atspi/atspi-misc-private.h b/atspi/atspi-misc-private.h index f0b5adb7..fb78b02b 100644 --- a/atspi/atspi-misc-private.h +++ b/atspi/atspi-misc-private.h @@ -168,6 +168,8 @@ gboolean _atspi_set_allow_sync (gboolean val); void _atspi_set_error_no_sync (GError **error); gboolean _atspi_prepare_screen_reader_interface (); + +gchar * _atspi_strdup_and_adjust_for_dbus (const char *s); G_END_DECLS #endif /* _ATSPI_MISC_PRIVATE_H_ */ diff --git a/atspi/atspi-misc.c b/atspi/atspi-misc.c index 9e8595ad..f49041ec 100644 --- a/atspi/atspi-misc.c +++ b/atspi/atspi-misc.c @@ -1899,3 +1899,33 @@ _atspi_prepare_screen_reader_interface () dbus_connection_add_filter (a11y_bus, screen_reader_filter, NULL, NULL); return TRUE; } + +gchar * +_atspi_strdup_and_adjust_for_dbus (const char *s) +{ + gchar *d = g_strdup (s); + gchar *p; + int parts = 0; + + if (!d) + return NULL; + + for (p = d; *p; p++) + { + if (*p == '-') + { + memmove (p, p + 1, g_utf8_strlen (p, -1)); + *p = toupper (*p); + } + else if (*p == ':') + { + parts++; + if (parts == 2) + break; + p [1] = toupper (p [1]); + } + } + + d [0] = toupper (d [0]); + return d; +} |