diff options
author | Mike Gorse <mgorse@suse.com> | 2022-04-07 12:43:59 -0500 |
---|---|---|
committer | Mike Gorse <mgorse@suse.com> | 2022-04-08 09:09:56 -0500 |
commit | 4766e3be06cef19c7bc647eae0a3af61b254dc38 (patch) | |
tree | 2f73fae165d00492c7cbfba736d7b4548d3b5b30 /droute/droute.h | |
parent | 6a36042d828c8edc3976eec6deb9a4e7a7a7b037 (diff) | |
download | at-spi2-atk-4766e3be06cef19c7bc647eae0a3af61b254dc38.tar.gz |
droute: handle unimplemented interfaces for GetAll and introspection
The iterator for retrieving all properties doesn't handle a getter failing,
which happens if the AtkObject doesn't implement the atk interface
corresponding to the dbus interface. This leads to the application aborting
on account of a malformed DBusMessage.
Helps #20
Diffstat (limited to 'droute/droute.h')
-rw-r--r-- | droute/droute.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/droute/droute.h b/droute/droute.h index 68c113d..506fef1 100644 --- a/droute/droute.h +++ b/droute/droute.h @@ -34,6 +34,7 @@ typedef dbus_bool_t (*DRoutePropertyFunction) (DBusMessageIter *, void *); typedef gchar *(*DRouteIntrospectChildrenFunction) (const char *, void *); typedef void *(*DRouteGetDatumFunction) (const char *, void *); +typedef gboolean (*DRouteQueryInterfaceFunction) (void *, const char *); typedef struct _DRouteMethod DRouteMethod; struct _DRouteMethod @@ -75,7 +76,8 @@ droute_add_many (DRouteContext *cnx, const void *data, DRouteIntrospectChildrenFunction introspect_children_cb, void *introspect_children_data, - const DRouteGetDatumFunction get_datum); + const DRouteGetDatumFunction get_datum, + const DRouteQueryInterfaceFunction query_interface_cb); void droute_path_add_interface (DRoutePath *path, |