From d35cd400a36b0f1393c17ce47015bf753327ccae Mon Sep 17 00:00:00 2001 From: michael Date: Mon, 10 Dec 2001 17:16:01 +0000 Subject: [PATCH] 2001-12-10 Michael Meeks * configure.in: use cspi/libspi.pc.in instead. * Makefile.am (pkgconfig_DATA): upd. to match. * test/simple-at.c (report_focus_event): kill hacks around bad return values, use putenv not setenv * libspi/desktop.c (impl_desktop_get_child_at_index): don't fire ChildGone - I killed it. * libspi/component.c (impl_accessibility_component_get_extents): remove bogus return. * idl/Accessible.idl: kill ChildGone exception. * cspi/*.[ch]: kill int return from ref / unref. * cspi/spi_main.c (cspi_object_add_check): fold into (cspi_object_add): here. * cspi/spi_component.c (AccessibleComponent_getExtents): handle exceptions elegantly. * cspi/spi-private.h (cspi_check_ev_return), (cspi_return_if_fail): impl. * cspi/spi_accessible.c: use extensively. (AccessibleStateSet_equals): add direct compare check. * cspi/spi_selection.c: tolerate NULL objs, and check exceptions before return. * cspi/spi-util.c (cspi_warn_ev): rename to (cspi_check_ev): this & don't pass ev in; no point. 2001-12-10 Michael Meeks * test/test-simple.c: use putenv not setenv (get_environment_vars): more chatty if you're not using the fun bits. * test/simple-at.c: do the setenv so more people see the nice demo easily. git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@158 e2bd861d-eb25-0410-b326-f6ed22b6b98c --- ChangeLog | 47 +++++++++ Makefile.am | 2 +- configure.in | 3 +- cspi-1.0.pc.in | 12 +++ cspi/bonobo/cspi-bonobo-listener.c | 2 +- cspi/spi-listener-impl.c | 2 +- cspi/spi-private.h | 20 +++- cspi/spi-util.c | 21 +--- cspi/spi.h | 74 +++++--------- cspi/spi_accessible.c | 181 ++++++++++++++++++++++++----------- cspi/spi_action.c | 8 +- cspi/spi_application.c | 6 +- cspi/spi_component.c | 39 +++++--- cspi/spi_editabletext.c | 10 +- cspi/spi_hypertext.c | 9 +- cspi/spi_image.c | 8 +- cspi/spi_main.c | 29 +----- cspi/spi_registry.c | 21 ++-- cspi/spi_selection.c | 85 ++++++++++------ cspi/spi_table.c | 16 +--- cspi/spi_text.c | 16 +--- cspi/spi_value.c | 10 +- idl/Accessibility_Accessible.idl | 4 +- idl/Accessible.idl | 4 +- at-spi-1.0.pc.in => libspi-1.0.pc.in | 6 +- libspi/component.c | 2 - libspi/desktop.c | 3 - registryd/desktop.c | 3 - test/simple-at.c | 32 +++++-- test/test-simple.c | 9 +- 30 files changed, 384 insertions(+), 300 deletions(-) create mode 100644 cspi-1.0.pc.in rename at-spi-1.0.pc.in => libspi-1.0.pc.in (66%) diff --git a/ChangeLog b/ChangeLog index 193c2bc..92845b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,50 @@ +2001-12-10 Michael Meeks + + * configure.in: use cspi/libspi.pc.in instead. + + * Makefile.am (pkgconfig_DATA): upd. to match. + + * test/simple-at.c (report_focus_event): kill hacks around + bad return values, use putenv not setenv + + * libspi/desktop.c (impl_desktop_get_child_at_index): don't + fire ChildGone - I killed it. + + * libspi/component.c + (impl_accessibility_component_get_extents): remove + bogus return. + + * idl/Accessible.idl: kill ChildGone exception. + + * cspi/*.[ch]: kill int return from ref / unref. + + * cspi/spi_main.c (cspi_object_add_check): fold into + (cspi_object_add): here. + + * cspi/spi_component.c (AccessibleComponent_getExtents): + handle exceptions elegantly. + + * cspi/spi-private.h (cspi_check_ev_return), + (cspi_return_if_fail): impl. + + * cspi/spi_accessible.c: use extensively. + (AccessibleStateSet_equals): add direct compare check. + + * cspi/spi_selection.c: tolerate NULL objs, and check + exceptions before return. + + * cspi/spi-util.c (cspi_warn_ev): rename to + (cspi_check_ev): this & don't pass ev in; no point. + +2001-12-10 Michael Meeks + + * test/test-simple.c: use putenv not setenv + (get_environment_vars): more chatty if you're not using + the fun bits. + + * test/simple-at.c: do the setenv so more people see the + nice demo easily. + 2001-12-10 Bill Haneman * libspi/registry.c: diff --git a/Makefile.am b/Makefile.am index f1a8e93..8dc5c71 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ SUBDIRS = docs idl libspi registryd at-bridge cspi util test pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = at-spi-1.0.pc +pkgconfig_DATA = libspi-1.0.pc cspi-1.0.pc EXTRA_DIST = \ xml-i18n-extract.in \ diff --git a/configure.in b/configure.in index bc96766..870448a 100644 --- a/configure.in +++ b/configure.in @@ -145,7 +145,8 @@ AC_MSG_ERROR([You must have popt 1.5 or greater to compile the utilities.])) AC_OUTPUT([ Makefile -at-spi-1.0.pc +libspi-1.0.pc +cspi-1.0.pc docs/Makefile docs/reference/Makefile docs/reference/idl/Makefile diff --git a/cspi-1.0.pc.in b/cspi-1.0.pc.in new file mode 100644 index 0000000..a10528b --- /dev/null +++ b/cspi-1.0.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +idldir=@datadir@/idl/at-spi-1.0 + +Name: cspi +Description: Accessibility Technology software simple client library +Requires: libspi-1.0 +Version: @VERSION@ +Libs: -L${libdir} -lcspi +Cflags: -I${includedir}/at-spi-1.0 diff --git a/cspi/bonobo/cspi-bonobo-listener.c b/cspi/bonobo/cspi-bonobo-listener.c index 912bb26..c87aa31 100644 --- a/cspi/bonobo/cspi-bonobo-listener.c +++ b/cspi/bonobo/cspi-bonobo-listener.c @@ -70,7 +70,7 @@ cspi_event (SpiEventListener *listener, AccessibleEvent aevent; Accessible *source; - source = cspi_object_add_check (bonobo_object_dup_ref (event->source, cspi_ev ())); + source = cspi_object_add (bonobo_object_dup_ref (event->source, cspi_ev ())); aevent.type = event->type; aevent.source = source; diff --git a/cspi/spi-listener-impl.c b/cspi/spi-listener-impl.c index 912bb26..c87aa31 100644 --- a/cspi/spi-listener-impl.c +++ b/cspi/spi-listener-impl.c @@ -70,7 +70,7 @@ cspi_event (SpiEventListener *listener, AccessibleEvent aevent; Accessible *source; - source = cspi_object_add_check (bonobo_object_dup_ref (event->source, cspi_ev ())); + source = cspi_object_add (bonobo_object_dup_ref (event->source, cspi_ev ())); aevent.type = event->type; aevent.source = source; diff --git a/cspi/spi-private.h b/cspi/spi-private.h index 118171e..7d0ff20 100644 --- a/cspi/spi-private.h +++ b/cspi/spi-private.h @@ -22,14 +22,24 @@ CORBA_Environment *cspi_ev (void); SPIBoolean cspi_exception (void); Accessibility_Registry cspi_registry (void); Accessible *cspi_object_add (CORBA_Object corba_object); -Accessible *cspi_object_add_check (CORBA_Object corba_object); void cspi_object_ref (Accessible *accessible); void cspi_object_unref (Accessible *accessible); SPIBoolean cspi_accessible_is_a (Accessible *obj, const char *interface_name); -SPIBoolean cspi_warn_ev (CORBA_Environment *ev, - const char *error_string); -void cspi_check_ev (CORBA_Environment *ev, - const char *error_string); +SPIBoolean cspi_check_ev (const char *error_string); + +#define cspi_return_if_fail(val) \ + if (!(val)) \ + return +#define cspi_return_val_if_fail(val, ret) \ + if (!(val)) \ + return (ret) + +#define cspi_return_if_ev(err) \ + if (!cspi_check_ev (err)) \ + return; +#define cspi_return_val_if_ev(err, ret) \ + if (!cspi_check_ev (err)) \ + return (ret); #endif /* _SPI_PRIVATE_H_ */ diff --git a/cspi/spi-util.c b/cspi/spi-util.c index 23333f8..f9bb545 100644 --- a/cspi/spi-util.c +++ b/cspi/spi-util.c @@ -17,8 +17,10 @@ SPI_freeString (char *s) } SPIBoolean -cspi_warn_ev (CORBA_Environment *ev, const char *error_string) +cspi_check_ev (const char *error_string) { + CORBA_Environment *ev = cspi_ev (); + if (ev->_major != CORBA_NO_EXCEPTION) { char *err; @@ -39,20 +41,3 @@ cspi_warn_ev (CORBA_Environment *ev, const char *error_string) return TRUE; } } - -void -cspi_check_ev (CORBA_Environment *ev, const char *error_string) -{ - if (ev->_major != CORBA_NO_EXCEPTION) - { - char *err; - - err = bonobo_exception_get_text (ev); - - g_warning ("AT-SPI error: %s: %s\n", error_string, err); - - g_free (err); - - CORBA_exception_free (ev); - } -} diff --git a/cspi/spi.h b/cspi/spi.h index 0842a3a..67dbaf4 100644 --- a/cspi/spi.h +++ b/cspi/spi.h @@ -187,8 +187,8 @@ void generateMouseEvent (long int x, long int y, char *name /* Accessible function prototypes */ -int Accessible_ref (Accessible *obj); -int Accessible_unref (Accessible *obj); +void Accessible_ref (Accessible *obj); +void Accessible_unref (Accessible *obj); char * Accessible_getName (Accessible *obj); char * Accessible_getDescription (Accessible *obj); Accessible * Accessible_getParent (Accessible *obj); @@ -230,12 +230,8 @@ GenericInterface * Accessible_queryInterface (Accessible *obj, * AccessibleAction function prototypes */ -int -AccessibleAction_ref (AccessibleAction *obj); - -int -AccessibleAction_unref (AccessibleAction *obj); - +void AccessibleAction_ref (AccessibleAction *obj); +void AccessibleAction_unref (AccessibleAction *obj); long AccessibleAction_getNActions (AccessibleAction *obj); @@ -303,7 +299,7 @@ AccessibleAction_getKeyBinding (AccessibleAction *obj, * Returns: (no return code implemented yet). * **/ -int +void AccessibleApplication_ref (AccessibleApplication *obj); /** @@ -315,7 +311,7 @@ AccessibleApplication_ref (AccessibleApplication *obj); * Returns: (no return code implemented yet). * **/ -int +void AccessibleApplication_unref (AccessibleApplication *obj); /** @@ -392,10 +388,10 @@ AccessibleApplication_resume (AccessibleApplication *obj); * */ -int +void AccessibleComponent_ref (AccessibleComponent *obj); -int +void AccessibleComponent_unref (AccessibleComponent *obj); SPIBoolean @@ -475,10 +471,10 @@ AccessibleComponent_grabFocus (AccessibleComponent *obj); * */ -int +void AccessibleEditableText_ref (AccessibleEditableText *obj); -int +void AccessibleEditableText_unref (AccessibleEditableText *obj); SPIBoolean @@ -547,10 +543,10 @@ AccessibleHyperlink_isValid (AccessibleHyperlink *obj); * */ -int +void AccessibleHypertext_ref (AccessibleHypertext *obj); -int +void AccessibleHypertext_unref (AccessibleHypertext *obj); long @@ -570,10 +566,10 @@ AccessibleHypertext_getLinkIndex (AccessibleHypertext *obj, * */ -int +void AccessibleImage_ref (AccessibleImage *obj); -int +void AccessibleImage_unref (AccessibleImage *obj); char * @@ -603,11 +599,8 @@ AccessibleImage_getImageExtents (AccessibleImage *obj, * */ -int -AccessibleRelation_ref (AccessibleRelation *obj); - -int -AccessibleRelation_unref (AccessibleRelation *obj); +void AccessibleRelation_ref (AccessibleRelation *obj); +void AccessibleRelation_unref (AccessibleRelation *obj); AccessibleRelationType AccessibleRelation_getRelationType (AccessibleRelation *obj); @@ -625,11 +618,8 @@ AccessibleRelation_getTarget (AccessibleRelation *obj, int i); * */ -int -AccessibleSelection_ref (AccessibleSelection *obj); - -int -AccessibleSelection_unref (AccessibleSelection *obj); +void AccessibleSelection_ref (AccessibleSelection *obj); +void AccessibleSelection_unref (AccessibleSelection *obj); long AccessibleSelection_getNSelectedChildren (AccessibleSelection *obj); @@ -663,11 +653,8 @@ AccessibleSelection_clearSelection (AccessibleSelection *obj); * */ -int -AccessibleStateSet_ref (AccessibleStateSet *obj); - -int -AccessibleStateSet_unref (AccessibleStateSet *obj); +void AccessibleStateSet_ref (AccessibleStateSet *obj); +void AccessibleStateSet_unref (AccessibleStateSet *obj); SPIBoolean AccessibleStateSet_contains (AccessibleStateSet *obj, @@ -699,11 +686,8 @@ AccessibleStateSet_isEmpty (AccessibleStateSet *obj); * */ -int -AccessibleTable_ref (AccessibleTable *obj); - -int -AccessibleTable_unref (AccessibleTable *obj); +void AccessibleTable_ref (AccessibleTable *obj); +void AccessibleTable_unref (AccessibleTable *obj); Accessible * AccessibleTable_getCaption (AccessibleTable *obj); @@ -794,11 +778,8 @@ AccessibleTable_isSelected (AccessibleTable *obj, * */ -int -AccessibleText_ref (AccessibleText *obj); - -int -AccessibleText_unref (AccessibleText *obj); +void AccessibleText_ref (AccessibleText *obj); +void AccessibleText_unref (AccessibleText *obj); long AccessibleText_getCharacterCount (AccessibleText *obj); @@ -893,11 +874,8 @@ AccessibleText_setSelection (AccessibleText *obj, * */ -int -AccessibleValue_ref (AccessibleValue *obj); - -int -AccessibleValue_unref (AccessibleValue *obj); +void AccessibleValue_ref (AccessibleValue *obj); +void AccessibleValue_unref (AccessibleValue *obj); float AccessibleValue_getMinimumValue (AccessibleValue *obj); diff --git a/cspi/spi_accessible.c b/cspi/spi_accessible.c index a321b54..ca366c1 100644 --- a/cspi/spi_accessible.c +++ b/cspi/spi_accessible.c @@ -111,11 +111,10 @@ AccessibleRole_getName (AccessibleRole role) * Returns: (no return code implemented yet). * **/ -int +void Accessible_ref (Accessible *obj) { cspi_object_ref (obj); - return 0; } /** @@ -124,14 +123,11 @@ Accessible_ref (Accessible *obj) * * Decrement the reference count for an #Accessible object. * - * Returns: (no return code implemented yet). - * **/ -int +void Accessible_unref (Accessible *obj) { cspi_object_unref (obj); - return 0; } /** @@ -141,15 +137,20 @@ Accessible_unref (Accessible *obj) * Get the name of an #Accessible object. * * Returns: a UTF-8 string indicating the name of the #Accessible object. - * + * or NULL on exception **/ char * Accessible_getName (Accessible *obj) { - char *retval = - (char *) + char *retval; + + cspi_return_val_if_fail (obj != NULL, NULL); + + retval = (char *) Accessibility_Accessible__get_name (CSPI_OBJREF (obj), cspi_ev ()); - cspi_check_ev (cspi_ev (), "getName"); + + cspi_return_val_if_ev ("getName", NULL); + return retval; } @@ -160,14 +161,21 @@ Accessible_getName (Accessible *obj) * Get the description of an #Accessible object. * * Returns: a UTF-8 string describing the #Accessible object. - * + * or NULL on exception **/ char * Accessible_getDescription (Accessible *obj) { - char *retval = (char *) - Accessibility_Accessible__get_description (CSPI_OBJREF (obj), cspi_ev ()); - cspi_check_ev (cspi_ev (), "getDescription"); + char *retval; + + cspi_return_val_if_fail (obj != NULL, NULL); + + retval = (char *) + Accessibility_Accessible__get_description (CSPI_OBJREF (obj), + cspi_ev ()); + + cspi_return_val_if_ev ("getDescription", NULL); + return retval; } @@ -184,9 +192,16 @@ Accessible_getDescription (Accessible *obj) Accessible * Accessible_getParent (Accessible *obj) { - Accessible *retval = - cspi_object_add (Accessibility_Accessible__get_parent (CSPI_OBJREF (obj), cspi_ev ())); - cspi_check_ev (cspi_ev (), "getParent"); + Accessible *retval; + + cspi_return_val_if_fail (obj != NULL, NULL); + + retval = cspi_object_add ( + Accessibility_Accessible__get_parent (CSPI_OBJREF (obj), + cspi_ev ())); + + cspi_return_val_if_ev ("getParent", NULL); + return retval; } @@ -197,14 +212,22 @@ Accessible_getParent (Accessible *obj) * Get the number of children contained by an #Accessible object. * * Returns: a #long indicating the number of #Accessible children - * contained by an #Accessible object. + * contained by an #Accessible object. or -1 on exception * **/ long Accessible_getChildCount (Accessible *obj) { - long retval = (long) Accessibility_Accessible__get_childCount (CSPI_OBJREF (obj), cspi_ev ()); - cspi_check_ev (cspi_ev (), "getChildCount"); + long retval; + + cspi_return_val_if_fail (obj != NULL, -1); + + retval = (long) + Accessibility_Accessible__get_childCount (CSPI_OBJREF (obj), + cspi_ev ()); + + cspi_return_val_if_ev ("getChildCount", -1); + return retval; } @@ -216,14 +239,20 @@ Accessible_getChildCount (Accessible *obj) * Get the #Accessible child of an #Accessible object at a given index. * * Returns: a pointer to the #Accessible child object at index - * @childIndex. - * + * @childIndex. or NULL on exception **/ Accessible * Accessible_getChildAtIndex (Accessible *obj, - long int childIndex) + long int childIndex) { - Accessible *retval = cspi_object_add_check (Accessibility_Accessible_getChildAtIndex (CSPI_OBJREF (obj), childIndex, cspi_ev ())); + Accessible *retval; + + cspi_return_val_if_fail (obj != NULL, NULL); + + retval = cspi_object_add ( + Accessibility_Accessible_getChildAtIndex (CSPI_OBJREF (obj), + childIndex, cspi_ev ())); + return retval; } @@ -235,14 +264,19 @@ Accessible_getChildAtIndex (Accessible *obj, * * Returns: a #long indicating the index of the #Accessible object * in its parent (i.e. containing) #Accessible instance, - * or -1 if @obj has no containing parent. - * + * or -1 if @obj has no containing parent or on exception. **/ long Accessible_getIndexInParent (Accessible *obj) { - long retval = (long) Accessibility_Accessible_getIndexInParent (CSPI_OBJREF (obj), cspi_ev ()); - cspi_check_ev (cspi_ev (), "getIndexInParent"); + long retval; + + cspi_return_val_if_fail (obj != NULL, -1); + + retval = (long) + Accessibility_Accessible_getIndexInParent (CSPI_OBJREF (obj), cspi_ev ()); + + cspi_return_val_if_ev ("getIndexInparent", -1); return retval; } @@ -253,25 +287,31 @@ Accessible_getIndexInParent (Accessible *obj) * Get the set of #AccessibleRelation objects which describe this #Accessible object's * relationships with other #Accessible objects. * - * Returns: an array of #AccessibleRelation pointers. - * + * Returns: an array of #AccessibleRelation pointers. or NULL on exception **/ AccessibleRelation ** Accessible_getRelationSet (Accessible *obj) { - AccessibleRelation **relations; - int n_relations; int i; - Accessibility_RelationSet *relation_set = - Accessibility_Accessible_getRelationSet (CSPI_OBJREF (obj), cspi_ev ()); + int n_relations; + AccessibleRelation **relations; + Accessibility_RelationSet *relation_set; + + cspi_return_val_if_fail (obj != NULL, NULL); + + relation_set = + Accessibility_Accessible_getRelationSet (CSPI_OBJREF (obj), cspi_ev ()); + + cspi_return_val_if_ev ("getRelationSet", NULL); /* this looks hack-ish, but it's based on the CORBA C bindings spec */ n_relations = relation_set->_length; relations = malloc (sizeof (AccessibleRelation *) * n_relations); - for (i=0; i_buffer[i], cspi_ev ())); + relations[i] = cspi_object_add (CORBA_Object_duplicate ( + relation_set->_buffer[i], cspi_ev ())); } relations[i] = CORBA_OBJECT_NIL; @@ -292,9 +332,15 @@ Accessible_getRelationSet (Accessible *obj) const char * Accessible_getRole (Accessible *obj) { - const char *retval = AccessibleRole_getName ( - Accessibility_Accessible_getRole (CSPI_OBJREF (obj), cspi_ev ())); - cspi_check_ev (cspi_ev (), "getRole"); + const char *retval; + + cspi_return_val_if_fail (obj != NULL, NULL); + + retval = AccessibleRole_getName ( + Accessibility_Accessible_getRole (CSPI_OBJREF (obj), cspi_ev ())); + + cspi_return_val_if_ev ("getRole", NULL); + return retval; } @@ -672,6 +718,9 @@ Accessible_queryInterface (Accessible *obj, interface_name, cspi_ev ()); + + cspi_return_val_if_ev ("queryInterface", NULL); + /* * FIXME: we need to be fairly sure that references are going * to mach up if we are going to expose QueryInterface, ie. we @@ -692,13 +741,11 @@ Accessible_queryInterface (Accessible *obj, * Increment the reference count for an #AccessibleRelation object. * * Returns: (no return code implemented yet). - * **/ -int +void AccessibleRelation_ref (AccessibleRelation *obj) { cspi_object_ref (obj); - return 0; } /** @@ -708,13 +755,11 @@ AccessibleRelation_ref (AccessibleRelation *obj) * Decrement the reference count for an #AccessibleRelation object. * * Returns: (no return code implemented yet). - * **/ -int +void AccessibleRelation_unref (AccessibleRelation *obj) { cspi_object_unref (obj); - return 0; } /** @@ -730,6 +775,7 @@ AccessibleRelation_unref (AccessibleRelation *obj) AccessibleRelationType AccessibleRelation_getRelationType (AccessibleRelation *obj) { + cspi_return_val_if_fail (obj != NULL, -1); return 0; } @@ -748,6 +794,7 @@ AccessibleRelation_getRelationType (AccessibleRelation *obj) int AccessibleRelation_getNTargets (AccessibleRelation *obj) { + cspi_return_val_if_fail (obj != NULL, -1); return 0; } @@ -766,6 +813,7 @@ AccessibleRelation_getNTargets (AccessibleRelation *obj) Accessible * AccessibleRelation_getTarget (AccessibleRelation *obj, int i) { + cspi_return_val_if_fail (obj != NULL, NULL); return NULL; } @@ -778,11 +826,10 @@ AccessibleRelation_getTarget (AccessibleRelation *obj, int i) * Returns: (no return code implemented yet). * **/ -int +void AccessibleStateSet_ref (AccessibleStateSet *obj) { cspi_object_ref (obj); - return 0; } /** @@ -794,14 +841,12 @@ AccessibleStateSet_ref (AccessibleStateSet *obj) * Returns: (no return code implemented yet). * **/ -int +void AccessibleStateSet_unref (AccessibleStateSet *obj) { cspi_object_unref (obj); - return 0; } - /** * AccessibleStateSet_contains: * @obj: a pointer to the #AccessibleStateSet object on which to operate. @@ -819,8 +864,15 @@ SPIBoolean AccessibleStateSet_contains (AccessibleStateSet *obj, AccessibleState state) { - CORBA_boolean retval = Accessibility_StateSet_contains (CSPI_OBJREF (obj), state, cspi_ev ()); - cspi_check_ev (cspi_ev (), "contains"); + CORBA_boolean retval; + + cspi_return_val_if_fail (obj != NULL, FALSE); + + retval = Accessibility_StateSet_contains (CSPI_OBJREF (obj), + state, cspi_ev ()); + + cspi_return_val_if_ev ("contains", FALSE); + return (SPIBoolean) retval; } @@ -837,11 +889,12 @@ void AccessibleStateSet_add (AccessibleStateSet *obj, AccessibleState state) { + cspi_return_if_fail (obj != NULL); + Accessibility_StateSet_add (CSPI_OBJREF (obj), state, cspi_ev ()); - cspi_check_ev (cspi_ev (), "contains"); + cspi_check_ev ("add"); } - /** * AccessibleStateSet_remove: * @obj: a pointer to the #AccessibleStateSet object on which to operate. @@ -855,8 +908,10 @@ void AccessibleStateSet_remove (AccessibleStateSet *obj, AccessibleState state) { + cspi_return_if_fail (obj != NULL); + Accessibility_StateSet_remove (CSPI_OBJREF (obj), state, cspi_ev ()); - cspi_check_ev (cspi_ev (), "contains"); + cspi_check_ev ("remove"); } /** @@ -878,7 +933,16 @@ SPIBoolean AccessibleStateSet_equals (AccessibleStateSet *obj, AccessibleStateSet *obj2) { - return Accessibility_StateSet_equals (CSPI_OBJREF (obj), CSPI_OBJREF (obj2), cspi_ev ()); + if (obj == obj2) + { + return TRUE; + } + + cspi_return_val_if_fail (obj != NULL, FALSE); + cspi_return_val_if_fail (obj2 != NULL, FALSE); + + return Accessibility_StateSet_equals (CSPI_OBJREF (obj), + CSPI_OBJREF (obj2), cspi_ev ()); } /** @@ -899,6 +963,8 @@ AccessibleStateSet * AccessibleStateSet_compare (AccessibleStateSet *obj, AccessibleStateSet *obj2) { + cspi_return_val_if_fail (obj != NULL, NULL); + cspi_return_val_if_fail (obj2 != NULL, NULL); return NULL; } @@ -915,10 +981,9 @@ AccessibleStateSet_compare (AccessibleStateSet *obj, SPIBoolean AccessibleStateSet_isEmpty (AccessibleStateSet *obj) { + cspi_return_val_if_fail (obj != NULL, FALSE); return TRUE; /* return Accessibility_StateSet_isEmpty (CSPI_OBJREF (obj), cspi_ev ());*/ } - - diff --git a/cspi/spi_action.c b/cspi/spi_action.c index fffb068..9ce42a7 100644 --- a/cspi/spi_action.c +++ b/cspi/spi_action.c @@ -9,11 +9,10 @@ * Returns: 0 (no return code implemented yet). * **/ -int +void AccessibleAction_ref (AccessibleAction *obj) { cspi_object_ref (obj); - return 0; } /** @@ -25,15 +24,12 @@ AccessibleAction_ref (AccessibleAction *obj) * Returns: 0 (no return code implemented yet). * **/ -int +void AccessibleAction_unref (AccessibleAction *obj) { cspi_object_unref (obj); - return 0; } - - /** * AccessibleAction_getNActions: * @obj: a pointer to the #AccessibleAction to query. diff --git a/cspi/spi_application.c b/cspi/spi_application.c index 983b6dd..6874d75 100644 --- a/cspi/spi_application.c +++ b/cspi/spi_application.c @@ -15,11 +15,10 @@ * Returns: (no return code implemented yet). * **/ -int +void AccessibleApplication_ref (AccessibleApplication *obj) { cspi_object_ref (obj); - return 0; } /** @@ -31,11 +30,10 @@ AccessibleApplication_ref (AccessibleApplication *obj) * Returns: (no return code implemented yet). * **/ -int +void AccessibleApplication_unref (AccessibleApplication *obj) { cspi_object_unref (obj); - return 0; } /** diff --git a/cspi/spi_component.c b/cspi/spi_component.c index d8b3bce..f644da3 100644 --- a/cspi/spi_component.c +++ b/cspi/spi_component.c @@ -15,11 +15,10 @@ * Returns: (no return code implemented yet). * **/ -int +void AccessibleComponent_ref (AccessibleComponent *obj) { cspi_object_ref (obj); - return 0; } /** @@ -31,11 +30,10 @@ AccessibleComponent_ref (AccessibleComponent *obj) * Returns: (no return code implemented yet). * **/ -int +void AccessibleComponent_unref (AccessibleComponent *obj) { cspi_object_unref (obj); - return 0; } /** @@ -57,6 +55,8 @@ AccessibleComponent_contains (AccessibleComponent *obj, long int y, AccessibleCoordType ctype) { + cspi_return_val_if_fail (obj != NULL, FALSE); + return Accessibility_Component_contains (CSPI_OBJREF (obj), (CORBA_long) x, (CORBA_long) y, @@ -85,11 +85,13 @@ AccessibleComponent_getAccessibleAtPoint (AccessibleComponent *obj, { Accessibility_Accessible child; - child = Accessibility_Component_getAccessibleAtPoint(CSPI_OBJREF (obj), - (CORBA_long) x, - (CORBA_long) y, - ctype, - cspi_ev ()); + cspi_return_val_if_fail (obj != NULL, NULL); + + child = Accessibility_Component_getAccessibleAtPoint (CSPI_OBJREF (obj), + (CORBA_long) x, + (CORBA_long) y, + ctype, + cspi_ev ()); return cspi_object_add (child); } @@ -115,14 +117,23 @@ AccessibleComponent_getExtents (AccessibleComponent *obj, AccessibleCoordType ctype) { Accessibility_BoundingBox bbox; + + cspi_return_if_fail (obj != NULL); + bbox = Accessibility_Component_getExtents (CSPI_OBJREF (obj), ctype, cspi_ev ()); - cspi_warn_ev (cspi_ev (), "AccessibleComponent_getExtents"); - *x = bbox.x; - *y = bbox.y; - *width = bbox.width; - *height = bbox.height; + if (cspi_check_ev ("AccessibleComponent_getExtents")) + { + *x = *y = *width = *height = 0; + } + else + { + *x = bbox.x; + *y = bbox.y; + *width = bbox.width; + *height = bbox.height; + } } /** diff --git a/cspi/spi_editabletext.c b/cspi/spi_editabletext.c index dc61d1b..e0f9270 100644 --- a/cspi/spi_editabletext.c +++ b/cspi/spi_editabletext.c @@ -11,15 +11,12 @@ * Returns: (no return code implemented yet). * **/ -int +void AccessibleEditableText_ref (AccessibleEditableText *obj) { cspi_object_ref (obj); - return 0; } - - /** * AccessibleEditableText_unref: * @obj: a pointer to the #AccessibleEditableText object on which to operate. @@ -31,15 +28,12 @@ AccessibleEditableText_ref (AccessibleEditableText *obj) * Returns: (no return code implemented yet). * **/ -int +void AccessibleEditableText_unref (AccessibleEditableText *obj) { cspi_object_unref (obj); - return 0; } - - /** * AccessibleEditableText_setAttributes: * @obj: a pointer to the #AccessibleEditableText object to modify. diff --git a/cspi/spi_hypertext.c b/cspi/spi_hypertext.c index 2c8128c..23c86f5 100644 --- a/cspi/spi_hypertext.c +++ b/cspi/spi_hypertext.c @@ -11,14 +11,12 @@ * Returns: (no return code implemented yet). * **/ -int +void AccessibleHypertext_ref (AccessibleHypertext *obj) { cspi_object_ref (obj); - return 0; } - /** * AccessibleHypertext_unref: * @obj: a pointer to the #AccessibleHypertext object on which to operate. @@ -30,15 +28,12 @@ AccessibleHypertext_ref (AccessibleHypertext *obj) * Returns: (no return code implemented yet). * **/ -int +void AccessibleHypertext_unref (AccessibleHypertext *obj) { cspi_object_unref (obj); - return 0; } - - /** * AccessibleHypertext_getNLinks: * @obj: a pointer to the #AccessibleHypertext implementor on which to operate. diff --git a/cspi/spi_image.c b/cspi/spi_image.c index 7b4d6a4..8b1a8b5 100644 --- a/cspi/spi_image.c +++ b/cspi/spi_image.c @@ -9,15 +9,12 @@ * Returns: (no return code implemented yet). * **/ -int +void AccessibleImage_ref (AccessibleImage *obj) { cspi_object_ref (obj); - return 0; } - - /** * AccessibleImage_unref: * @obj: a pointer to the #AccessibleImage implementor on which to operate. @@ -27,11 +24,10 @@ AccessibleImage_ref (AccessibleImage *obj) * Returns: (no return code implemented yet). * **/ -int +void AccessibleImage_unref (AccessibleImage *obj) { cspi_object_unref (obj); - return 0; } diff --git a/cspi/spi_main.c b/cspi/spi_main.c index 19c7420..0bc3a6c 100644 --- a/cspi/spi_main.c +++ b/cspi/spi_main.c @@ -144,6 +144,10 @@ cspi_object_add (CORBA_Object corba_object) { ref = NULL; } + else if (!cspi_check_ev ("pre method check")) + { + ref = NULL; + } else { if ((ref = g_hash_table_lookup (get_live_refs (), corba_object))) @@ -173,31 +177,6 @@ cspi_object_add (CORBA_Object corba_object) return ref; } -Accessible * -cspi_object_add_check (CORBA_Object corba_object) -{ - Accessible *retval; - - if (ev._major == CORBA_USER_EXCEPTION && - !strcmp (ev._id, ex_Accessibility_ChildGone)) - { - retval = NULL; - } - else if (ev._major != CORBA_NO_EXCEPTION) - { - cspi_check_ev (cspi_ev (), "pre method check"); - retval = NULL; - } - else - { - retval = cspi_object_add (corba_object); - - cspi_check_ev (cspi_ev (), "post method check"); - } - - return retval; -} - void cspi_object_ref (Accessible *accessible) { diff --git a/cspi/spi_registry.c b/cspi/spi_registry.c index b7005a2..c8996eb 100644 --- a/cspi/spi_registry.c +++ b/cspi/spi_registry.c @@ -160,7 +160,14 @@ deregisterGlobalEventListener (AccessibleEventListener *listener, int getDesktopCount () { - return Accessibility_Registry_getDesktopCount (cspi_registry (), cspi_ev ()); + int retval; + + retval = Accessibility_Registry_getDesktopCount ( + cspi_registry (), cspi_ev ()); + + cspi_return_val_if_ev ("getDesktopCount", -1); + + return retval; } /** @@ -177,9 +184,9 @@ getDesktopCount () Accessible* getDesktop (int i) { - return cspi_object_add_check (Accessibility_Registry_getDesktop (cspi_registry (), - (CORBA_short) i, - cspi_ev ())); + return cspi_object_add (Accessibility_Registry_getDesktop (cspi_registry (), + (CORBA_short) i, + cspi_ev ())); } /** @@ -242,7 +249,7 @@ registerAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener, device_event_controller = Accessibility_Registry_getDeviceEventController (cspi_registry (), cspi_ev ()); - g_return_if_fail (cspi_warn_ev (cspi_ev (), "getting event controller")); + cspi_return_if_ev ("getting event controller"); /* copy the keyval filter values from the C api into the CORBA KeySet */ if (keys) @@ -325,7 +332,7 @@ deregisterAccessibleKeystrokeListener (AccessibleKeystrokeListener *listener, device_event_controller = Accessibility_Registry_getDeviceEventController (cspi_registry (), cspi_ev ()); - g_return_if_fail (cspi_warn_ev (cspi_ev (), "getting event controller")); + cspi_return_if_ev ("getting keystroke listener"); controller_event_mask.value = (CORBA_unsigned_long) modmask; controller_event_mask.refcount = (CORBA_unsigned_short) 1; @@ -370,7 +377,7 @@ generateKeyEvent (long int keyval, AccessibleKeySynthType synth_type) Accessibility_DeviceEventController device_event_controller = Accessibility_Registry_getDeviceEventController (cspi_registry (), cspi_ev ()); - g_return_if_fail (cspi_warn_ev (cspi_ev (), "getting event controller")); + cspi_return_if_ev ("getting event controller"); Accessibility_DeviceEventController_generateKeyEvent (device_event_controller, keyval, diff --git a/cspi/spi_selection.c b/cspi/spi_selection.c index 7b0ea9e..e8c4e0c 100644 --- a/cspi/spi_selection.c +++ b/cspi/spi_selection.c @@ -9,14 +9,12 @@ * Returns: (no return code implemented yet). * **/ -int +void AccessibleSelection_ref (AccessibleSelection *obj) { cspi_object_ref (obj); - return 0; } - /** * AccessibleSelection_unref: * @obj: a pointer to the #AccessibleSelection implementor on which to operate. @@ -26,15 +24,12 @@ AccessibleSelection_ref (AccessibleSelection *obj) * Returns: (no return code implemented yet). * **/ -int +void AccessibleSelection_unref (AccessibleSelection *obj) { cspi_object_unref (obj); - return 0; } - - /** * AccessibleSelection_getNSelectedChildren: * @obj: a pointer to the #AccessibleSelection implementor on which to operate. @@ -49,10 +44,18 @@ AccessibleSelection_unref (AccessibleSelection *obj) long AccessibleSelection_getNSelectedChildren (AccessibleSelection *obj) { - return (long) - Accessibility_Selection__get_nSelectedChildren (CSPI_OBJREF (obj), cspi_ev ()); -} + long retval; + + cspi_return_val_if_fail (obj != NULL, -1); + retval = + Accessibility_Selection__get_nSelectedChildren (CSPI_OBJREF (obj), + cspi_ev ()); + + cspi_return_val_if_ev ("getNSelectedChildren", -1); + + return retval; +} /** * AccessibleSelection_getSelectedChild: @@ -75,10 +78,13 @@ Accessible * AccessibleSelection_getSelectedChild (AccessibleSelection *obj, long int selectedChildIndex) { - Accessibility_Accessible child = - Accessibility_Selection_getSelectedChild (CSPI_OBJREF (obj), - (CORBA_long) selectedChildIndex, cspi_ev ()); - cspi_warn_ev (cspi_ev (), "getSelectedChild"); + Accessibility_Accessible child; + + cspi_return_val_if_fail (obj != NULL, NULL); + + child = Accessibility_Selection_getSelectedChild ( + CSPI_OBJREF (obj), + (CORBA_long) selectedChildIndex, cspi_ev ()); return (Accessible *) cspi_object_add (child); } @@ -95,17 +101,23 @@ AccessibleSelection_getSelectedChild (AccessibleSelection *obj, * selection. * * Returns: #TRUE if the child was successfully selected, #FALSE otherwise. - * **/ SPIBoolean AccessibleSelection_selectChild (AccessibleSelection *obj, long int childIndex) { - return (SPIBoolean) + SPIBoolean retval; + + cspi_return_val_if_fail (obj != NULL, FALSE); + + retval = Accessibility_Selection_selectChild (CSPI_OBJREF (obj), (CORBA_long) childIndex, cspi_ev ()); -} + cspi_return_val_if_ev ("selectChild", FALSE); + + return retval; +} /** * AccessibleSelection_deselectSelectedChild: @@ -120,17 +132,22 @@ AccessibleSelection_selectChild (AccessibleSelection *obj, * are asymmettric. * * Returns: #TRUE if the child was successfully deselected, #FALSE otherwise. - * **/ SPIBoolean AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj, long int selectedChildIndex) { - return Accessibility_Selection_deselectSelectedChild ( - CSPI_OBJREF (obj), (CORBA_long) selectedChildIndex, cspi_ev ()); -} + SPIBoolean retval; + + cspi_return_val_if_fail (obj != NULL, FALSE); + retval = Accessibility_Selection_deselectSelectedChild ( + CSPI_OBJREF (obj), (CORBA_long) selectedChildIndex, cspi_ev ()); + cspi_return_val_if_ev ("deselectSelectedChild", FALSE); + + return retval; +} /** * AccessibleSelection_isChildSelected: @@ -143,18 +160,23 @@ AccessibleSelection_deselectSelectedChild (AccessibleSelection *obj, * * Returns: #TRUE if the specified child is currently selected, * #FALSE otherwise. - * **/ SPIBoolean AccessibleSelection_isChildSelected (AccessibleSelection *obj, long int childIndex) { - return (SPIBoolean) - Accessibility_Selection_isChildSelected (CSPI_OBJREF (obj), - (CORBA_long) childIndex, cspi_ev ()); -} + SPIBoolean retval; + cspi_return_val_if_fail (obj != NULL, FALSE); + retval = Accessibility_Selection_isChildSelected ( + CSPI_OBJREF (obj), + (CORBA_long) childIndex, cspi_ev ()); + + cspi_return_val_if_ev ("isChildSelected", FALSE); + + return (SPIBoolean) retval; +} /** * AccessibleSelection_selectAll: @@ -169,11 +191,14 @@ AccessibleSelection_isChildSelected (AccessibleSelection *obj, SPIBoolean AccessibleSelection_selectAll (AccessibleSelection *obj) { + cspi_return_val_if_fail (obj != NULL, FALSE); + Accessibility_Selection_selectAll (CSPI_OBJREF (obj), cspi_ev ()); - return TRUE; /* TODO: change the bonobo method to return SPIBoolean */ -} + cspi_check_ev ("selectAll"); + return TRUE; /* TODO: change the bonobo method to return SPIBoolean */ +} /** * AccessibleSelection_clearSelection: @@ -181,12 +206,14 @@ AccessibleSelection_selectAll (AccessibleSelection *obj) * * Clear the current selection, removing all selected children from the * specified #AccessibleSelection implementor's selection list. - * **/ void AccessibleSelection_clearSelection (AccessibleSelection *obj) { + cspi_return_if_fail (obj != NULL); + Accessibility_Selection_clearSelection (CSPI_OBJREF (obj), cspi_ev ()); + cspi_check_ev ("clearSelection"); } diff --git a/cspi/spi_table.c b/cspi/spi_table.c index 8ae601c..24ba32b 100644 --- a/cspi/spi_table.c +++ b/cspi/spi_table.c @@ -10,15 +10,12 @@ * Returns: (no return code implemented yet). * **/ -int +void AccessibleTable_ref (AccessibleTable *obj) { cspi_object_ref (obj); - return 0; } - - /** * AccessibleTable_unref: * @obj: a pointer to the #AccessibleTable implementor on which to operate. @@ -28,11 +25,10 @@ AccessibleTable_ref (AccessibleTable *obj) * Returns: (no return code implemented yet). * **/ -int +void AccessibleTable_unref (AccessibleTable *obj) { cspi_object_unref (obj); - return 0; } /** @@ -51,8 +47,6 @@ AccessibleTable_getCaption (AccessibleTable *obj) Accessibility_Table__get_caption (CSPI_OBJREF (obj), cspi_ev ()); } - - /** * AccessibleTable_getSummary: * @obj: a pointer to the #AccessibleTable implementor on which to operate. @@ -70,8 +64,6 @@ AccessibleTable_getSummary (AccessibleTable *obj) Accessibility_Table__get_summary (CSPI_OBJREF (obj), cspi_ev ()); } - - /** * AccessibleTable_getNRows: * @obj: a pointer to the #AccessibleTable implementor on which to operate. @@ -90,8 +82,6 @@ AccessibleTable_getNRows (AccessibleTable *obj) Accessibility_Table__get_nRows (CSPI_OBJREF (obj), cspi_ev ()); } - - /** * AccessibleTable_getNColumns: * @obj: a pointer to the #AccessibleTable implementor on which to operate. @@ -110,7 +100,6 @@ AccessibleTable_getNColumns (AccessibleTable *obj) Accessibility_Table__get_nColumns (CSPI_OBJREF (obj), cspi_ev ()); } - /** * AccessibleTable_getAccessibleAt: * @obj: a pointer to the #AccessibleTable implementor on which to operate. @@ -134,7 +123,6 @@ AccessibleTable_getAccessibleAt (AccessibleTable *obj, (CORBA_long) row, (CORBA_long) column, cspi_ev ()); } - /** * AccessibleTable_getIndexAt: * @obj: a pointer to the #AccessibleTable implementor on which to operate. diff --git a/cspi/spi_text.c b/cspi/spi_text.c index 974c850..eb69fd4 100644 --- a/cspi/spi_text.c +++ b/cspi/spi_text.c @@ -9,15 +9,12 @@ * Returns: (no return code implemented yet). * **/ -int +void AccessibleText_ref (AccessibleText *obj) { cspi_object_ref (obj); - return 0; } - - /** * AccessibleText_unref: * @obj: a pointer to the #Accessible object on which to operate. @@ -27,14 +24,12 @@ AccessibleText_ref (AccessibleText *obj) * Returns: (no return code implemented yet). * **/ -int +void AccessibleText_unref (AccessibleText *obj) { cspi_object_unref (obj); - return 0; } - /** * AccessibleText_getCharacterCount: * @obj: a pointer to the #AccessibleText object to query. @@ -50,17 +45,16 @@ AccessibleText_getCharacterCount (AccessibleText *obj) { long retval; - CORBA_exception_init (cspi_ev ()); + cspi_return_val_if_fail (obj != NULL, -1); + retval = (long) Accessibility_Text__get_characterCount (CSPI_OBJREF (obj), cspi_ev ()); - cspi_check_ev (cspi_ev (), "SpiAccessibleText_getCharacterCount"); + cspi_return_val_if_ev ("_getCharacterCount", -1); return retval; } - - /** * AccessibleText_getText: * @obj: a pointer to the #AccessibleText object to query. diff --git a/cspi/spi_value.c b/cspi/spi_value.c index 748f12e..be4dd51 100644 --- a/cspi/spi_value.c +++ b/cspi/spi_value.c @@ -9,15 +9,12 @@ * Returns: (no return code implemented yet). * **/ -int +void AccessibleValue_ref (AccessibleValue *obj) { cspi_object_ref (obj); - return 0; } - - /** * AccessibleValue_unref: * @obj: a pointer to the #AccessibleValue implementor on which to operate. @@ -27,15 +24,12 @@ AccessibleValue_ref (AccessibleValue *obj) * Returns: (no return code implemented yet). * **/ -int +void AccessibleValue_unref (AccessibleValue *obj) { cspi_object_unref (obj); - return 0; } - - /** * AccessibleValue_getMinimumValue: * @obj: a pointer to the #AccessibleValue implementor on which to operate. diff --git a/idl/Accessibility_Accessible.idl b/idl/Accessibility_Accessible.idl index 7068a82..cfebaa9 100644 --- a/idl/Accessibility_Accessible.idl +++ b/idl/Accessibility_Accessible.idl @@ -32,7 +32,6 @@ module Accessibility { typedef sequence RelationSet; - exception ChildGone {} ; struct BoundingBox { long x; @@ -82,8 +81,7 @@ module Accessibility { * * Returns: the 'nth' @Accessible child of this object. **/ - Accessible getChildAtIndex (in long index) - raises (ChildGone); + Accessible getChildAtIndex (in long index); /** * getIndexInParent: diff --git a/idl/Accessible.idl b/idl/Accessible.idl index 7068a82..cfebaa9 100644 --- a/idl/Accessible.idl +++ b/idl/Accessible.idl @@ -32,7 +32,6 @@ module Accessibility { typedef sequence RelationSet; - exception ChildGone {} ; struct BoundingBox { long x; @@ -82,8 +81,7 @@ module Accessibility { * * Returns: the 'nth' @Accessible child of this object. **/ - Accessible getChildAtIndex (in long index) - raises (ChildGone); + Accessible getChildAtIndex (in long index); /** * getIndexInParent: diff --git a/at-spi-1.0.pc.in b/libspi-1.0.pc.in similarity index 66% rename from at-spi-1.0.pc.in rename to libspi-1.0.pc.in index 4631669..2936a95 100644 --- a/at-spi-1.0.pc.in +++ b/libspi-1.0.pc.in @@ -2,10 +2,10 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ -idldir=@datadir@/idl/at-spi-2.0 +idldir=@datadir@/idl/at-spi-1.0 -Name: at-spi -Description: Accessibility Technology software +Name: libspi +Description: Accessibility Technology software library Requires: libbonobo-2.0 atk gtk+-2.0 Version: @VERSION@ Libs: -L${libdir} -lspi diff --git a/libspi/component.c b/libspi/component.c index b519286..7418c00 100644 --- a/libspi/component.c +++ b/libspi/component.c @@ -94,8 +94,6 @@ impl_accessibility_component_get_extents (PortableServer_Servant servant, Accessibility_BoundingBox retval; AtkComponent *component = get_component_from_servant (servant); - g_return_if_fail (component != NULL); - atk_component_get_extents (component, &ix, &iy, &iw, &ih, (AtkCoordType) coord_type); diff --git a/libspi/desktop.c b/libspi/desktop.c index 9258398..dec8487 100644 --- a/libspi/desktop.c +++ b/libspi/desktop.c @@ -94,9 +94,6 @@ impl_desktop_get_child_at_index (PortableServer_Servant servant, retval = bonobo_object_dup_ref (app->ref, ev); if (BONOBO_EX (ev)) { - CORBA_exception_free (ev); - CORBA_exception_set (ev, CORBA_USER_EXCEPTION, - ex_Accessibility_ChildGone, NULL); retval = CORBA_OBJECT_NIL; } } diff --git a/registryd/desktop.c b/registryd/desktop.c index 9258398..dec8487 100644 --- a/registryd/desktop.c +++ b/registryd/desktop.c @@ -94,9 +94,6 @@ impl_desktop_get_child_at_index (PortableServer_Servant servant, retval = bonobo_object_dup_ref (app->ref, ev); if (BONOBO_EX (ev)) { - CORBA_exception_free (ev); - CORBA_exception_set (ev, CORBA_USER_EXCEPTION, - ex_Accessibility_ChildGone, NULL); retval = CORBA_OBJECT_NIL; } } diff --git a/test/simple-at.c b/test/simple-at.c index 3fbf9fe..a27f4bb 100644 --- a/test/simple-at.c +++ b/test/simple-at.c @@ -25,7 +25,6 @@ #include #include #include -#include #include "../util/mag_client.h" #include "../cspi/spi-private.h" /* A hack for now */ @@ -58,16 +57,24 @@ main (int argc, char **argv) int i, j; int n_desktops; int n_apps; + char *s; Accessible *desktop; Accessible *application; - char *s; + const char *modules; if ((argc > 1) && (!strncmp (argv[1], "-h", 2))) - { - printf ("Usage: simple-at\n"); - printf ("\tEnvironment variables used:\n\t\tFESTIVAL\n\t\tMAGNIFIER\n\t\tFESTIVAL_CHATTY\n"); - exit (0); - } + { + printf ("Usage: simple-at\n"); + printf ("\tEnvironment variables used:\n\t\tFESTIVAL\n\t\tMAGNIFIER\n\t\tFESTIVAL_CHATTY\n"); + exit (0); + } + + modules = g_getenv ("GTK_MODULES"); + if (!modules || modules [0] == '\0') + { + putenv ("GTK_MODULES=gail:at-bridge"); + } + modules = NULL; SPI_init (); @@ -155,6 +162,15 @@ get_environment_vars (void) fprintf (stderr, "Using magnifier\n"); use_magnifier = TRUE; } + else + { + fprintf (stderr, "Not using magnifier\n"); + } + + if (!use_festival) + { + fprintf (stderr, "No speech output\n"); + } } void @@ -227,7 +243,7 @@ report_focus_event (AccessibleEvent *event, void *user_data) g_return_if_fail (event->source != NULL); s = Accessible_getName (event->source); - if (cspi_warn_ev (cspi_ev (), "Report focus event")) + if (s) { fprintf (stderr, "%s event from %s\n", event->type, s); SPI_freeString (s); diff --git a/test/test-simple.c b/test/test-simple.c index cb1414d..bd55cde 100644 --- a/test/test-simple.c +++ b/test/test-simple.c @@ -63,7 +63,6 @@ focus_me (GtkWidget *widget) g_object_unref (G_OBJECT (aobject)); - /* Pull focus away and then back - thus sucks */ return FALSE; } @@ -509,9 +508,13 @@ main (int argc, char **argv) { int leaked; TestWindow *win; + const char *modules, *tmp; AccessibleEventListener *global_listener; - setenv ("GTK_MODULES", "gail:at-bridge", FALSE); + modules = g_getenv ("GTK_MODULES"); + if (!modules || modules [0] == '\0') + putenv ("GTK_MODULES=gail:at-bridge"); + modules = NULL; gtk_init (&argc, &argv); @@ -548,7 +551,7 @@ main (int argc, char **argv) gtk_main (); } - setenv ("AT_BRIDGE_SHUTDOWN", "1", TRUE); + putenv ("AT_BRIDGE_SHUTDOWN=1"); return 0; } -- 2.7.4