X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ChangeLog;h=e5ea93295e5c49f6813d0f7fb8679dc7984d93ef;hb=8c1e149dcc852e0654c2e74d551bf396edf12ac6;hp=c52358213d720ed948dcc25266547dbe8a385310;hpb=f88d862cb044cf78e0e10c5908ce59c3f60ecf25;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/ChangeLog b/ChangeLog index c523582..e5ea932 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,1961 @@ +2002-10-01 Bill Haneman + + * configure.in: + Update version number to 0.4 for Beta2. + + * libspi/accessible.c, libspi/accessible.h: + Expose spi_accessible_construct, to enable libgail-gnome + construction from spi_accessible subtype. + + * utils/magnifier.c: + Workaround for bug in some non-gnome-compliant window managers + which made magnifier resize improperly. + +2002-09-01 Bill Haneman + + * libspi/accessible.c: (spi_accessible_new) : + Move the test for SPI_IS_REMOTE_OBJECT to + spi_accessible_new_return, fixing a bug and compile time warning. + +2002-01-08 Michael Meeks + + * registryd/registry.c (parse_event_type): remove strndup. + + * libspi/Makefile.am (libspi_la_SOURCES): remove + sources already included in the headers section. + + * libspi/util.c: add. + + * libspi/spi-private.h: add. + + * registryd/registry.c: update to moved list iterators. + +2002-01-05 Michael Meeks + + * test/simple-at.c (main): upd. auto-module set to atk-bridge + + * test/test-simple.c (main): ditto. + +2002-01-04 Michael Meeks + + * libspi/accessible.c (spi_accessible_new): remove 2nd, + redundant construct. + + * registryd/registry.c + (get_listener_list): impl. + (impl_accessibility_registry_register_global_event_listener): + re-impl. to simplify using ~, remove dodgy const cast off. + (parse_event_type): constify. + (impl_accessibility_registry_deregister_global_event_listener_all): + re-write, more efficiency and simplicity, kill re-enterancy + hazard. + (compare_listener_corbaref, compare_corba_objects), + (compare_listener_quarks): define out. + (impl_accessibility_registry_deregister_global_event_listener): + re-write for effiency, and nail re-enterancy hazard. + (impl_accessibility_registry_get_desktop_list): impl. + (re_enterant_list_delete_link): impl. + (re_enterant_list_foreach): impl. + (remove_listener_cb): impl. + (_registry_notify_listeners): kill. + (notify_listeners_cb): impl. + + * cspi/spi_registry.c (SPI_freeDesktopList): impl. + (SPI_getDesktopList): impl. + + * test/test-simple.c (test_desktop): test the methods. + +2002-01-03 Michael Meeks + + * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the + keystrings since we free them + (SPI_freeAccessibleKeySet): in here. + + * libspi/accessible.c (spi_accessible_new): kill warning, + wonder what is going on with the constructor here. + +2002-03-01 Bill Haneman + + * libspi/accessible.c (spi_accessible_new ()) : + Added check to see if AtkObject is an SpiRemoteObject before + creating an SpiAccessible. + +2002-05-01 Bill Haneman + + * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard): + Enable keygrabs using the Control modifier, now that they are + working properly (they were previously disabled). + + * test/simple-at.c: + Change the command keygrab for this demo to "Control+Alt", so as + to conflict with fewer other key commands on the system; this + means that the quit command for "simple-at" is now "Ctrl-Alt-q". + + Removed a pointlessly-chatty keylistener for unshifted keys + (shifted keys are still reported). + +2002-02-01 Bill Haneman + + * libspi/remoteobject.h: + * libspi/remoteobject.c: + Added definitions for special AtkObject subtype, required for + support of remote components (specifically, used by BonoboControl + accessibility implementation). + +2002-01-02 Marc Mulcahy + + * cspi/spi.h: synched relation types with ATK + + * cspi/spi_accessible.c: Added implementations of + AcccessibleRelation_* methods + + * idl/Accessibility_Relation.idl: added getRelationTypeName + method. Synched known relation types with ATK. Allowed for + relation type extension with the RELATION_EXTENDED type. + + * libspi/relation.c: Provided implementations for + AccessibleRelation methods. + +2002-01-01 Bill Haneman + + API tweaks for today's API 'freeze'. + + * idl/*: + Added placeholder functions to allow future compatible expansion + of the IDL interfaces. + + * idl/Accessibility_Registry.idl: + Changed generateKeyEvent to generateKeyboardEvent. Changed + signature of this method to accept an optional keystring in + parameter (for complex text input synthesis) and changed use of + simple 'boolean' parameter in registerKeystrokeListener to a + struct, EventListenerMode. + + * cspi/spi_accessible.c: + * cspi/spi.h: + * cspi/spi_streamablecontent.c: + Added references to AccessibleStreamableContent interface, and + definition and implementation of AccessibleStreamableContent + C bindings. + + * cspi/spi_registry.c: + * cspi/spi.h: + Changed generateKeyEvent API to generateKeyboardEvent, + taking a new (optional) keystring parameter to support complex + text input. + + * at-bridge/*: + * atk-bridge/*: + Renamed directory (to better reflect its actual purpose, bridging + from at-spi to ATK). The .so module is also now named + libatk-bridge.so. + + * idl/Accessibility_Hypertext.idl: + * libspi/accessible.c: + * libspi/hypertext.h: + * libspi/hypertext.c: + Changed Accessibility_Hypertext to *not* derive from + Accessibility_Text. + + * cspi/spi_registry.c: + Added list of legal event type names for 'window' events, which + completes the registry event API. + +2001-12-22 Marc Mulcahy + + * at-bridge/bridge.c: Added registration for separate + "Atktext:text-changed::insert" and "AtkText:text-changed::delete" + signals. If either of the first two parameters to the generic + bridge signal handler are ints, they are passed on as event + details. This allows an AT to determine what text was inserted. + +2001-12-21 Bill Haneman + + * registryd/deviceeventcontroller.c: + Fixed regressions in generateKeyEvent caused by the removal of + gdk_init from registryd; we now use pure X calls to connect to the + display, which makes sense because deviceeventcontroller already + uses a fair bit of X API (should eventually be migrated to a + 'portability layer'). + + * registryd/desktop.c: + Fixed minor regression in spi_desktop_init, changed the way the + desktop name is being set to work with new spi_base API + (gobject-based, rather than AtkObject-based). + + * registryd/Makefile.am: + Minor revision of makefile to use XTST_LIBS variable rather than + hard-wiring the Xtst LD_ADD element. + + * test/keysynth-demo.c: + Tweaked an output message; added initialization of the + 'keystrings' member of the "switch listener" key_set. + + * libspi/relation.c: + Squashed compile-time warning. + + * libspi/accessible.c: + Cosmetic and formatting fixes, renamed a static method. + +2001-12-18 Marc Mulcahy + + * libspi/accessible.c + * libspi/action.c + * libspi/application.c + * libspi/base.c + * libspi/base.h + * libspi/component.c + * libspi/editabletext.c + * libspi/hyperlink.c + * libspi/hypertext.c + * libspi/image.c + * libspi/selection.c + * libspi/table.c + * libspi/text.c + * libspi/value.c + * registryd/desktop.c: + Changed SpiBase to contain a GObject pointer rather than an AtkObject + +2001-12-17 Bill Haneman + + * idl/Accessibility_Registry.idl: + Added boolean member 'is_text' to DeviceEvent. This is for the + use of key events, and helps prevent ambiguity between composed + key strings and keysym names, since both may potentially be + returned in the 'event_string' member. + + * at-bridge/bridge.c: + * registryd/deviceeventcontroller.c: + Use the 'is_text' member when notifying device event listeners. + Knon issue: composed characters are not dealt with correctly by + the global key listener implementation yet. + +2001-12-17 Bill Haneman + + * at-bridge/bridge.c: + Namespaced local static methods to spi_atk_bridge_* where + previously named bridge_*, and spi_* elsewhere. + + * at-bridge/bridge.c: + * cspi/bonobo/cspi-bonobo-listener.c: + Added demarshalling/conversion for string member of + Accessibility_DeviceEvent to AccessibleKeystroke. + + * registryd/deviceeventcontroller.c: + Added code to fill the Accessibility_DeviceEvent key string value + member for global key events (i.e. from XGrabKey), to match + behavior of Accessibility_DeviceEvent from the toolkit key events + from the bridge. Fixed timestamp in global key event notifications. + + * test/simple-at.c: + Added printout of key event's string value to + report_ordinary_key_event, for demo/debugging purposes. + +2001-12-15 Bill Haneman + + * idl/Accessibility_Registry.idl: + Removed Accessibility_KeyStroke structure in favor of generic + Accessibility_DeviceEvent structure. + Changed Accessibility_ControllerEventMask from a struct to an + unsigned long. + + * at-bridge/bridge.c: + Changed APIs to use DeviceEvent structure as above, and removed + bogus casting between these event structures. + + * cspi/spi-listener.h: + Added keystring member of AccessibleKeystroke structure, to enable + matching on event "names" rather than only hardware codes and + keysyms. + + * cspi/spi.h: + Added keystrings member of AccessibleKeySet struct, to allow + matching on event names (as above). + Added declarations for SPI_createAccessibleKeySet and + SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass + event modmasks directly as unsigned ints rather than structs with + refcounts, in the DeviceEventController methods. + + * cspi/spi_registry.c: + Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods. + + * cspi/spi-roletypes.h: + Added documentation of newly added SPI Roles. + + * cspi/bonobo/cspi-bonobo-listener.c: + Changes in support of API changes above. + + * libspi/accessible.c: + Converted APIs to use DeviceEvent structure (see IDL changes + above). + + * registryd/deviceeventcontroller.c: + Added DEControllerGrabMask structure to track keygrabs not only by + modmask but by keyset as well; this allows us to do "global" + (i.e. X) keygrabs on a per-key or keyset basis rather than always + grabbing on AnyKey and then filtering after-the-fact. + Bugfixes for event filtration mean that we don't get false matches + on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested. + + * registryd/deviceeventcontroller.c: + Namespaced a number of static methods to use spi_ prefix. Major + revision to internals of global (i.e. X) key grabs. + + * registryd/deviceeventcontroller.h: + Removed keymask_list and added keygrabs_list to + SpiDeviceEventController struct. + + * test/simple-at.c: + Added use of SPI_createAccessibleKeySet API when creating a + listener for only one key. Attach a listener to "shift spacebar + SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of + X key event names to SPI key event names, so that listeners are + registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance. + + * test/keysynth-demo.c: + Changed (incorrect) use of X key event names (KeyPressed, + KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED. + + +2001-12-12 Bill Haneman + + * libspi/accessible.c: + Convert all AtkRole enumerations to Accessibility_Role enums when + getting a role from an AtkObject. + + * cspi/spi_accessible.c: + Complete the conversion of Accessibility_Role enums at runtime to + AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that + role enums correctly match those given in spi-roletypes.h. + Re-synchronize the local names list for AccessibleRole_getName (). + AccessibleRole_getName is now deprecated, since it duplicates the + more reliable Accessible_getRoleName. + Added some role types from Accessibility_Role.idl. + + * idl/Accessibility_Role.idl: + Added some role types used by AtkRole. + +2001-12-12 Bill Haneman + + * cspi/spi.h: + * cspi/spi_registry.c: + * cspi/spi_event.c: + * cspi/cspi-bonobo-listener.c: + Namespaced all methods that did not begin with an "SPI_" or + "Accessible" prefix to "SPI_". + + * cspi/spi_main.c: + Homogenized internal function namespace to "cspi_" for statics. + + * test/*.c: + Patched tests to use the new CSPI API. + + * docs/reference/cspi/at-spi-cspi-sections.txt: + Updated docs to reflect namespace changes, and added a number of + methods to the documentation. + + * registryd/registry.c: + Changed use of strings and string hashes in listener event + matching and parse_event_string to use GQuark, which is guaranteed + unique. + + * registryd/registry.h: + Squashed annoying warning. + + * idl/Accessibility_Role.idl: + Extended range of available Accessibility_Role values. + + * cspi/spi_accessible.c: + Re-ordered role names. + +2001-12-12 Bill Haneman + + * idl/Accessibility_Value.idl: + Revert use of union back to CORBA_double, since the double type is + more efficient and can contain the other types without loss of + precision. + + * idl/Accessibility_Accessible.idl: + Added method Accessibility:Accessible:getRoleName, to complement + Accessibility:Accessible:getRole. + + * cspi/spi_accessible.c: + * cspi/spi.h: + Added C binding for above, Accessible_getRoleName (), and changed + signature of Accessible_getRole () to return an AccessibleRole. + + * cspi/spi-roletypes.h: + Changed AccessibleRole_getName to return a char * instead of a + const char *. This method is now at least temporarily deprecated + in favor of asking Accessibles for their RoleNames directly. + + * libspi/value.c: + Revert to match Accessibility_Value.idl; + + * cspi/spi_value.c: + * cspi/spi.h: + Change signature of AccessibleValue methods to use double rather + than float. + + * cspi/spi.h: + * cspi/spi_accessible.c: + Changed Accessible_getRole to return an AccessibleRole enum rather + than a UTF-8 string. The UTF-8 string can still be obtained via + AccessibleRole_getName (). + + * test/test-simple.c: + Add test_action. Small fixup to match API change to Accessible_getRole. + + * libspi/action.c: + Bugfix for get_action_from_servant (). + +2001-12-11 Michael Meeks + + * libspi/libspi.h: remove registry.h and + desktop.h, deviceeventcontroller.h + + * libspi/Makefile.am: remove registry.[ch], + desktop.[ch], deviceeventcontroller.[ch] + + * registryd/Makefile.am: add registry.[ch], + desktop.[ch], rename registryd.c to registry-main.c. + add deviceeventcontroller.[ch] + +2001-12-11 Bill Haneman + + * test/simple-at.c: + Replace setenv() call with putenv (). + + * libspi/component.c: + Bugfix in AccessibleComponent_getExtents (), + (from Adi Dascal). + +2001-12-11 Michael Meeks + + * libspi/image.c (impl_getImageExtents): impl. + (spi_image_class_init): upd. + + * cspi/spi_image.c + (AccessibleImage_getImageDescription): fix daft bug + of mine (doh). + + * test/test-simple.c (global_listener_cb): update + to only quit if not --poke + (main): catch --poke. + (validate_accessible): upd. dumping, call test_image + (test_image): impl. + + * libspi/Makefile.am (IDL_DEPS): fixup the IDL + dependencies. + + * idl/Accessibility.idl: update all IDL includes. + + * idl/*.idl - rename to namespace - this sucks, blame + mjs' bad decision for oafd. + + * test/test-simple.c (create_test_window): add more tests. + (create_tree): split this out. + (validate_accessible): bugfix. + +2001-12-11 Michael Meeks + + * cspi/bonobo/cspi-bonobo-listener.c: + (cspi_kestroke_listener_unref), + (cspi_event_listener_unref): impl. undoing previous + homenous environment - for Bill. + + * cspi/spi_table.c (long_seq_to_array): use + malloc instead. + + * cspi/spi_main.c: split out all bonoboish bits into + bonobo/ + + * cspi/spi-impl.h: upd. typedefs. + + * cspi/spi_registry.c: update to lowlevel API, + return booleans to indicate success in some places. + + * cspi/spi_event.c: update to lowlevel API. + + * cspi/bonobo/Makefile.am: add. + + * cspi/bonobo/cspi-lowlevel.h: add + + * cspi/bonobo/cspi-bonobo.c: add + + * cspi/bonobo/cspi-bonobo-listener.[ch]: impl. + + * cspi/Makefile.am: remove spi-listener-impl.[ch], + (SUBDIRS): add bonobo, link in the libs. + + * cspi/spi-util.c: kill this file. + + * TODO: merge in my bits. + +2001-12-11 Michael Meeks + + * test/test-simple.c (test_value, test_table, main): + remove unused variables causing warnings. + + * configure.in: cleanup checks - require gail. + +2001-12-11 Bill Haneman + + * idl/Value.idl: + Changed Value interface to use SValue (scalars) rather than + assuming all values are floats. This allows floats, doubles, + longs, shorts, and unsigned values to be manipulated. + Introduced Accessibility:SValue union. + + * libspi/value.c: + Updated to use new API above, and to work correctly with GValues + of different types in AtkValue. + + * cspi/spi_value.c: + Updated to use new API above. cspi's API is as yet unchanged. + + * TODO: + Updated the Value revision action item. + +2001-12-10 Bill Haneman + + * test/test-simple.c: + Added test_table (GtkTreeView widget in test window to follow). + Un-commented test_value, added GtkRange widget. + Added GtkTreeView widget with GtkListStore. It passes regression + test but leaks one SPI object for some reason. + + * libspi/value.c: + Fixed bug in impl__set_currentValue. + +2001-12-10 Michael Meeks + + * cspi/spi_text.c: audit for exception handling, + tolerating NULL object references safely etc. + + * cspi/spi_value.c: ditto. + + * cspi/spi_table.c (AccessibleTable_getSummary), + (AccessibleTable_getAccessibleAt), + (AccessibleTable_getRowHeader), + (AccessibleTable_getColumnHeader), + (AccessibleTable_getCaption): fix bugs hidden by + incorrect casts. + (long_seq_to_array): impl. + (AccessibleTable_getSelectedRows), + (AccessibleTable_getSelectedColumns): use it. + +2001-12-10 Bill Haneman + + * TODO: + Added a TODO list (rough and short for now). + + * cspi/spi_hyperlink.c: + * cspi/spi_hypertext.c: + Fixed macro name typos, and remove use of obsolete macro in + AccessibleHyperlink_getLink. + + * cspi/spi_action.c: + * cspi/spi_accessible.c: + * cspi/spi_application.c: + * cspi/spi_component.c: + * cspi/spi_selection.c: + * cspi/spi_text.c: + * cspi/spi_value.c: + Documentation fixes (removed return values from ref/unref methods). + +2001-12-10 Michael Meeks + + * cspi/spi_action.c: audit for exception handling, + tolerating NULL object references safely etc. + + * cspi/spi_accessible.c: ditto. + + * cspi/spi_component.c: ditto. + + * cspi/spi_editabletext.c: ditto. + + * cspi/spi_hyperlink.c: ditto. + + * cspi/spi_hypertext.c: ditto. + + * cspi/spi_image.c: ditto. + + * cspi/spi_selection.c: ditto. + +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: + Changed check of CORBA_environment on notification to be a warning + instead of an error for the moment, since we can recover from this + error when caused by a queued notification from a dead app. + + * libspi/value.c: + Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as + used by all current implementors of AtkValue), and coerce to + CORBA_float. (Proper general case fix may require change to Value.idl). + +2001-12-09 Bill Haneman + + * cspi/spi.h: + * cspi/spi_event.c: + * cspi/spi_accessible.c: + Documentation fixes: added user_data params to documentation for + listeners and callbacks. + + * cspi/spi_accessible.c: + Changed AccessibleStateSet_compare to return a + StateSet rather than return the difference set into a third parameter. + + +2001-12-09 Bill Haneman + + * configure.in: + Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL. + remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like + it). + + * Makefile.am: + Remove subdirectory po from SUBDIRS for now. + + * at-bridge/bridge.c: + Beefed up a couple of debug printouts. + One-line fix for signal notification name formatting. + + * libspi/accessible.c: + Added assertion to spi_accessible_new (). + + * libspi/application.c: + Put #ifdef qualifiers around a printf. + + * libspi/value.c: + Fixed derivation (from BONOBO_OBJECT to SPI_BASE). + + * registryd/Makefile.am: + * util/Makefile.am: + Replaces use of XML_I18N_MERGE_SERVER_RULE with + INTLTOOL_SERVER_RULE macro. + + * test/simple-at.c: + Added an event listener for several ATK signals, for + testing and debugging. Removed a few g_warnings. + Added test output if focussed item implements the Value interface. + + * test/test-simple.c: + Added test_value () function (known not to pass at the moment, so + not actually called yet. + +2001-12-08 Michael Meeks + + * at-bridge/bridge.c (bridge_focus_tracker), + (emit_eventv): fix the same ref. leak. + (register_atk_event_listeners): don't leak. + + * cspi/spi-listener-impl.c (cspi_event): more + protection from client code. + + * test/test-simple.c (test_desktop): unref the app. + + * test/Makefile.am: upd. TESTS. + + * at-bridge/bridge.c (bridge_exit_func): release the registry. + + * test/keysynth-demo.c (keysynth_exit): unref the listeners. + + * cspi/spi_accessible.c (Accessible_queryInterface): constify. + + * cspi/spi_registry.c: constify in strings. + (deregisterGlobalEventListenerAll): don't release the ref. + + * cspi/spi.h: start removing redundant / conflicting + gtkdoc comments, making the API readable at a glance :-) + + * cspi/spi_event.c (AccessibleEventListener_unref): impl. + + * test/keysynth-demo.c (keysynth_exit, main): upd. + + * test/simple-at.c (main, simple_at_exit): upd. + + * test/test-simple.c (unutterable_horror): kill. + (utterable_normal_derefs): kill. + (main): upd & do a setenv before gtk_init, so that we + can use memprof - and to save the pain of remembering + this, if we're running under memprof - don't exit. + + * cspi/spi_main.c (SPI_exit): return exit status + for cspi. + (SPI_event_quit): impl. + (SPI_event_main): simplify. + (cspi_is_gnome_app): kill. + (SPI_init): kill isGNOMEapp arg. + + * at-bridge/bridge.c (register_atk_event_listeners): + re-instate the unref. + (bridge_exit_func): don't re-activate the registry, + protect vs. theoretical re-entry, use the + AT_BRIDGE_SHUTDOWN env. var to determine whether to + assert a clean shutdown - for regression tests. + +2001-12-08 Abel Cheung + + * configure.in: Comment out dummy i18n support for now, + otherwise it fails to build. + * idl/Makefile.am: Add Selection.idl and Hypertext.idl to + EXTRA_DIST. They are missing in tarball. + +2001-12-07 Michael Meeks + + * util/magnifier.c: kill bonobo activation reg. race. + + * libspi/component.c + (impl_accessibility_component_get_extents): make it match + it's sig. + + * libspi/registry.c (_registry_notify_listeners): + re-remove X headers & reconcile conflicts. + (spi_listener_struct_free): bad conflict resolve. + (impl_accessibility_registry_register_application): + more bad merging fixed. + (impl_accessibility_registry_deregister_application): ditto. + (spi_registry_new): ditto. + (spi_registry_init): don't have an applications field. + +[ merge fixups2 branch to here ] +2001-12-07 Michael Meeks + + * test/simple-at.c (report_focus_event), + (report_focussed_accessible): remove g_warning debug. + +2001-12-07 Michael Meeks + + * test/test-simple.c (validate_tree): comment out some checks. + (test_desktop): app now not registered idly - horay. + +2001-12-07 Michael Meeks + + * cspi/spi_registry.c + (registerAccessibleKeystrokeListener): clean, stop it leaking + great swathes of memory, and device event controller references. + ensure we always pass valid sequences. + (deregisterAccessibleKeystrokeListener): ditto. + (generateKeyEvent): upd. + + * at-bridge/bridge.c (bridge_key_listener): handle + registry dead exception gracefully. + (bridge_focus_tracker, emit_eventv): free ev. + + * test/simple-at.c (report_focus_event): fix polarity. + + * libspi/application.c (notify_listeners): kill the ev + argument, and make sure we init the ev we use. + (spi_application_object_event_listener): split out a chunk + (get_atk_object_ref): here & fixup. + (reverse_lookup_name_for_toolkit_event): make const. + (spi_application_toolkit_event_listener): fixup, kill leaks + ref problems etc. + + * at-bridge/bridge.c (register_atk_event_listeners): + don't unref the noop object - causes grief. + + * libspi/registry.c: remove the X headers. + turn off the debug churn. + + * libspi/accessible.c (spi_accessible_new_return): only + release the ref if we are supposed to [doh] + + * test/simple-at.c (report_button_press, report_focus_event): + guard vs. unexpected exit. + + * at-bridge/bridge.c (gtk_module_init): prune printf. + (bridge_exit_func): fix app unref. + + * libspi/Makefile.am: don't install registry or desktop.h + + * libspi/*.h: update includes. + + * libspi/application.h: don't include ourself, or + other redundant headers. + +2001-12-06 Michael Meeks + + * libspi/accessible.c + (get_accessible_from_servant): impl. + Upd. all CORBA impl.s to use it killing cut and paste. + + * cspi/spi_main.c (cspi_cleanup): guard vs. double + invokes. + (SPI_init): register atexit cleanup handler here. + +2001-12-06 Michael Meeks + + * at-bridge/bridge.c (gtk_module_init): g_error on + activation exception + +2001-12-06 Michael Meeks + + * at-bridge/bridge.c (gtk_module_init): some sort of + confusing merge clash - reverted. + (bridge_idle_init): ditto. + + * test/test-simple.c (main, utterable_normal_derefs): + merge from Bill - somehow not committed. + +2001-12-06 Michael Meeks + + * libspi/value.c (spi_value_class_init): upd. + (spi_value_finalize): kill. + + * libspi/table.c (spi_table_finalize): kill. + (spi_table_interface_new): upd. + (spi_table_class_init): upd. + (get_table_from_servant): impl. + Upd. all CORBA impl.s to use it killing yet more cut and paste. + + * libspi/selection.c (spi_selection_finalize): kill. + (spi_selection_interface_new): upd. + (spi_selection_class_init): upd. + (get_selection_from_servant): impl. + Upd. all CORBA impl.s to use it killing yet more cut and paste. + + * libspi/relation.c (spi_relation_finalize): kill. + (spi_relation_class_init, spi_relation_new): upd + + * libspi/image.c (spi_image_finalize): kill. + (spi_image_class_init): upd. + (spi_image_interface_new): upd. + (get_image_from_servant): impl. + Upd. all CORBA impl.s to use it killing yet more cut and paste. + + * libspi/hyperlink.c (spi_hyperlink_class_init): upd. + (spi_hyperlink_finalize): kill. + (spi_hyperlink_new): upd. + (get_hyperlink_from_servant): impl. + Upd. all CORBA impl.s to use it killing yet more cut and paste. + + * libspi/hypertext.c (spi_hypertext_interface_new): upd. + (spi_hypertext_finalize): kill. + (spi_hypertext_class_init): upd. + (get_hypertext_from_servant): impl. + Upd. all CORBA impl.s to use it killing yet more cut and paste. + + * libspi/editabletext.c (spi_editable_text_finalize): kill. + (spi_editable_text_interface_new): upd. + (get_editable_text_from_servant): impl. + Upd. all CORBA impl.s to use it killing yet more cut and paste. + + * libspi/text.c (get_text_from_servant): impl. + All impls - update to use it killing more cut and paste, + also fix bad string returns on duff args ( a somewhat + impossible case to handle - but hey ). + (spi_text_construct): impl. + (spi_text_interface_new): upd. + (spi_text_object_finalize): kill. + + * libspi/component.c + (accessibility_component_object_finalize): kill. + (spi_component_class_init): upd. + (get_component_from_servant): impl. helper to kill cut & paste. + (impl_accessibility_component_contains): + (impl_accessibility_component_get_accessible_at_point): + (impl_accessibility_component_get_position): + (impl_accessibility_component_get_extents): + (impl_accessibility_component_get_mdi_z_order): + (impl_accessibility_component_get_layer): + (spi_component_interface_new): upd. + + * libspi/action.c (spi_action_finalize): kill. + (spi_action_class_init): upd. inherit from SpiObject. + (spi_action_interface_new): upd. + (get_action_from_servant): impl. helper to reduce cut & paste. + (impl_getKeyBinding, impl_getName, impl_doAction), + (impl_getDescription): Use it everywhere. + + * cspi/spi_main.c (get_live_refs): a pointer hash. + (spi_object_hash, spi_object_equal): comment out. + There are issues with CORBA object hashing that need + solving. + + * libspi/application.c (spi_application_init), + (spi_application_new): upd. + + * libspi/accessible.c (spi_accessible_object_finalize): kill. + (spi_accessible_class_init): upd. + s/accessible/object/ in epv methods. + +2001-12-05 Bill Haneman + + * at-bridge/bridge.c: + Reorder the bridge initialization into the bridge gtk_module_init, + an immediate call to bridge_register_app, and an idle_add for + register_atk_event_listeners (the only code that *must* wait until + GTK+ is initialized) via bridge_idle_add. Bridge_register_app does + the activation, creates the application's Accessible object, and + queues the bridge_idle_init function. Restored call to + Accessibility_Registry_deregisterApplication(). + Prior to making this call we obtain a new reference to the + registry, which is a temporary hack that helps us handle apps that + shut down the bonobo mainloop before we get there. + + * libspi/registry.c: + Fix string leakage in debug block, and don't segv if a an app + dies before its event notifications have been propagated. + + * cpi/spi_util.c: + Modify cspi_check_ev() to call g_warning() rather than g_error(), + as stopgap measure until we get proper exception handling when + objects die during or before interrogation. + + * cspi/spi_main.c: + * cspi/spi.h: + Moved use of isGNOMEApp flag from SPI_event_main to SPI_init. + Also changed default value of is_gnome_app to TRUE. + + * test/simple-at.c: + * test/keysynth-demo.c: + Changed use of SPI_init and SPI_event_main to reflect API change above. + + * test/simple-at.c: + Made report_focus_event check the warning value from getName + before reporting on focussed accessible; simplifies handling of + notifications from dead objects. + + * test/test-simple.c: (Changes not in this patch since source is + not in CVS ?) + +2001-12-05 Michael Meeks + + * registryd/registryd.c (main): protect against + bonobo-activation startup race condition. + + * cspi/spi_main.c (cspi_object_add_check): cope + with the exception elegantly. + + * idl/Accessible.idl: decl. ChildGone + + * libspi/desktop.c (spi_desktop_dispose): impl. + (spi_desktop_class_init): upd. + (spi_desktop_add_application), + (spi_desktop_remove_application), + (abnormal_application_termination): impl. + (impl_desktop_get_child_at_index): re-impl. + + * libspi/registry.c + (impl_accessibility_registry_deregister_application), + (impl_accessibility_registry_register_application): + kill excessive debug clutter. + + * test/test-simple.c (test_misc): test some NULL + tolerance. (main): upd. + + * cspi/spi_main.c (cspi_accessible_is_a): a NULL + implements no interfaces - so let's not crash. + + * cspi/spi_accessible.c (Accessible_queryInterface): ditto. + + * libspi/accessible.c (spi_accessible_new_return): impl. + helper to calm the cut and paste, to cope with + NULL AtkObjects effectively and efficiently, and to kill + the referencing bugs. + + * libspi/table.c (impl_getAccessibleAt), + (impl_getRowHeader, impl_getColumnHeader): upd. + + * libspi/hyperlink.c (impl_getObject): upd. + + * libspi/accessible.c + (impl_accessibility_accessible_get_child_at_index): upd. + + * libspi/component.c + (impl_accessibility_component_get_accessible_at_point): upd. + + * test/test-simple.c (test_editable_text, test_text): impl. + some simple tests. + + * cspi/spi_editabletext.c + (AccessibleEditableText_insertText): constify. + + * test/test-simple.c (focus_me): make more robust. + + * libspi/accessible.c: remove some printfs in methods that + we test and work fine, so we can get a clean tree dump. + + * test/test-simple.c (validate_accessible), + (validate_tree): make tree dumping pretty too. + + * at-bridge/bridge.c (bridge_signal_listener): upd. so + it builds without debug on. + + * test/test-simple.c (validate_accessible): fix the most + ludicrous bug. + + * cspi/spi_main.c (spi_object_release): leave the nicely + blanked memory around if in debug mode. + + * cspi/spi-listener-impl.c (cspi_event): use add_check. + +[committed to fixups2] +2001-12-05 Michael Meeks + + * libspi/editabletext.c + (spi_editable_text_class_init): g_type_class_peek_parent, + not interface peek - so we finalize cleanly. + + * libspi/accessible.c (spi_accessible_new): kill debug. + + * test/test-simple.c (validate_accessible): fix ref. + leak, print strings before freeing them; sigh, comment a + chunk out due to strangeness. + (validate_tree): unref the child after use. + + * cspi/spi_component.c (AccessibleComponent_getLayer): + add missing break statement, switch on zlayer not the + uninitialized retval. + + * cspi/spi_main.c (cspi_object_add): add assert, local ref + before (possibly re-entering) remote unref. + + * test/simple-at.c (main): unref the desktop. + + * cspi/spi_accessible.c (cspi_accessible_is_a): move + into: + + * cspi/spi_main.c (cspi_accessible_is_a): here to + isolate bonobo API usage more. + + * libspi/registry.c (impl_accessibility_registry_register_application): + prune bogus comment. + +2001-12-04 Michael Meeks + + * test/test-simple.c (validate_tree): upd. + IndexInParent check to make it more lucid. + (validate_accessible): dump the tree. + + * libspi/accessible.c (de_register_public_ref), + (get_public_refs): impl. + (spi_accessible_new): make more efficient & intuitive. + Now IndexInParent check works. + +2001-12-04 Michael Meeks + + * cspi/spi-util.h: remove. + + * cspi/spi.h: move SPI_freeString here + + * libspi/component.c (impl_accessibility_component_get_layer): + warning fixage. + (impl_accessibility_component_get_mdi_z_order): ditto, + return -1 on error - is this ok ? + + * test/test-simple.c (test_application): impl. + + * cspi/spi_accessible.c (Accessible_getApplication), + (Accessible_isApplication): impl. + + * libspi/registry.c (spi_listener_struct_free): release + the CORBA reference too. + + * libspi/accessible.c + (impl_accessibility_accessible_get_parent): fix ref leak. + + * libspi/registry.c (spi_registry_new): make the registry + immortal - we don't want it to go away ever. + + * libspi/application.c + (spi_accessible_application_finalize): impl. cleanup. + + * cspi/spi_registry.c + (deregisterGlobalEventListenerAll), + (deregisterGlobalEventListener), + (deregisterAccessibleKeystrokeListener): fix ref leak. + + * cspi/spi_main.c (SPI_init): remove redundant ref. + + * test/test-simple.c (unutterable_horror): impl. to force a + clean shutdown. + (main): use it. + + * libspi/registry.c + (impl_accessibility_registry_deregister_application): release + the application when we de-register it. + + * at-bridge/bridge.c (bridge_exit_func): comment out shutdown + until we have the infastructure to get it right. + +2001-12-03 Michael Meeks + + * libspi/Makefile.am: only build eventlistener.[ch] + + * libspi/accessible.c + (impl_accessibility_accessible_get_child_at_index): don't leak. + + * at-bridge/bridge.c (bridge_exit_func): cope with an exit + before we hit the idle handler. + + * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for + debugging than exit. + + * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue. + + * libspi/listener.c (impl_notify_event): check source + not NIL before unref. + + * libspi/registry.c (impl_registry_notify_event): ditto. + + * libspi/eventlistener.c + (impl_accessible_event_notify_event): unref the source. + + * libspi/accessibleeventlistener.c + (impl_accessible_event_notify_event): unref the source. + + * idl/Event.idl: remove 'hash_id' attribute - of no + concievable use. + + * libspi/application.c (notify_listeners): upd list + iteration & sig. + (spi_application_object_event_listener), + (spi_application_toolkit_event_listener): upd to do correct + CORBA ref counting. + + * libspi/registry.c + (_registry_notify_listeners): update. + (parse_event_type): this method also leaks like a sieve. + (impl_accessibility_registry_deregister_global_event_listener): + fix ETYPE_WINDOW case. + + * libspi/application.c + (impl_accessibility_application_register_object_event_listener): + kill leak. + + * libspi/hyperlink.c (impl_getObject): fix ref mistake. + + * libspi/hypertext.c (impl_getLink): ditto. + + * cspi/spi_main.c (cspi_object_add): remove + bogus CORBA_Object_duplicate. + + * cspi/spi-listener-impl.c (cspi_event): dup/ref + on the object_add. + + * cspi/spi_accessible.c + (Accessible_getRelationSet): fix leak / referencing issue. + + * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl. + (cspi_object_add, cspi_object_unref): upd. + (spi_object_release, get_live_refs): impl. + (cspi_cleanup): simplify. + + * *.[ch]: s/boolean/SpiBoolean/ + + * cspi/spi_accessible.c (role_names): actualy order so it + corresponds with the enum ! + + * test/test-simple.c (test_roles): check some role strings + vs. enums to detect offset errors. + +2001-12-01 Michael Meeks + + * cspi/spi_main.c (cspi_object_add_check): impl. helper. + + * cspi/spi_accessible.c (Accessible_getChildAtIndex): + check ev before + (Accessible_getChildAtIndex): use cspi_add_check so we + check the ev before using a (possibly) invalid value. + + * libspi/accessible.c + (impl_accessibility_accessible_get_parent): don't segv + on a NULL parent. + + * at-bridge/bridge.c (gtk_module_init): upd. + (bridge_property_event_listener): don't leak strings + and events ! + (bridge_state_event_listener), + (bridge_property_event_listener): don't use a static + buffer in case of recursive event emission & + re-enterancy - split out the swathe of cut and paste + into: + (emit_eventv): and fix 2 ref leaks here & comply to the + coding style. + (bridge_register_app): rename to + (bridge_idle_init): this and kill arg parsing, split + various inits & bonobo-activation registration to module + init time, kill referencing error. + (bridge_exit_func): fix the same leak. + (bridge_focus_tracker): don't leak event structures + and strings. + (bridge_signal_listener): more leakage and cut & paste + fixage. + (bridge_key_listener): return the result - FIXME is + this polarity correct ? + (accessibility_keystroke_from_atk_key_event): rename + (accessibility_init_keystroke_from_atk_key_event): and stop + leakage. + (gtk_module_init): return a value - not that it is checked by + Gtk - but hey. + (bridge_key_listener): register my horror at casting between + IDL defined structs. + (bridge_get_registry): kill - not used. + + * cspi/spi_accessible.c (Accessible_getRole): make return const. + + * test/test-simple.c (test_roles): impl. + (test_desktop, validate_accessible, validate_tree): impl. + + * cspi/spi_accessible.c (role_names): fixup bogus + MAX_ROLES setup, make constants const for efficient linkage + (AccessibleRole_getName): conform to coding style, make + return 'const' + +2001-11-30 Michael Meeks + + * cspi/spi.h: add missing prototype. + + * libspi/registry.c (spi_listener_struct_new): fix sig. + + * test/Makefile.am: add test-simple + + * test/test-simple.c: add + + * test/test.sh: add. + + * cspi/spi_main.c (SPI_init): make SPI_inited module global, + + * at-bridge/bridge.c (gtk_module_init): don't do an idle init, + do it straight - since otherwise we often get an activation race. + +[ work before Bill duplicated a chunk of it ... ] +2001-11-30 Michael Meeks + + * libspi/keystrokelistener.c + (spi_keystroke_listener_class_init): fixup arg + count (doh). + + * libspi/eventlistener.c + (spi_event_listener_class_init): ditto. + + * tests/test.sh: add. + + * cspi/spi-listener-impl.h: update macros. + + * cspi/spi-listener-impl.c + (cspi_event_listener_remove_callback): add + correct pre-conditions. + + * cspi/spi_main.c (SPI_exit): guard vs. double + exits, exit the mainloop nicely. + (SPI_event_main): make more sense. + (SPI_init): move the atexit evilness here so we + always do it (yuck). + (SPI_event_main): upd. + + * test/simple-at.c: update for listener changes. + + * registryd/registryd.c (main): prune kruft. + + * libspi/libspi.h: upd. + + * libspi/eventlistener.[ch]: rename broken macros. + + * libspi/accessibleeventlistener.[ch]: remove. + + * libspi/*.[ch]: IS_SPI_... -> SPI_IS_... + + * test/test-simple.c: Add - automated tests. + + * cspi/spi-listener-impl.c (cspi_event), + (cspi_key_event): add user_data to invoke. + (cspi_keystroke_listener_finalize): impl. + (cspi_keystroke_listener_class_init): upd. + + * cspi/spi_event.c + (createAccessibleEventListener), + (AccessibleEventListener_addCallback), + (createAccessibleKeystrokeListener), + (AccessibleKeystrokeListener_addCallback): upd. + + * libspi/deviceeventcontroller.c + (spi_device_event_controller_check_key_event): add public proto. + + * libspi/registry.c + (impl_accessibility_registry_deregister_global_event_listener): + always init listeners. + (_registry_notify_listeners): yes it is. + + * cspi/spi-listener-impl.c (cspi_key_event): + move debug to here. + (cspi_event_listener_finalize): impl. + (cspi_event_listener_class_init): hook up. + (event_handler_new, event_handler_free), + (event_list_remove_by_callback): impl. + (cspi_event_listener_remove_callback), + (cspi_keystroke_listener_remove_callback), + (cspi_keystroke_listener_add_callback), + (cspi_event_listener_add_callback): upd. + + * libspi/keystrokelistener.c + (keystroke_listener_object_finalize): kill + (spi_keystroke_listener_class_init): upd. + (spi_keystroke_listener_add_callback), + (spi_keystroke_listener_remove_callback): kill, + use signals. + (impl_key_event): prune drasticaly. + + * libspi/eventlistener.c + (spi_event_listener_add_callback), + (spi_event_listener_remove_callback): kill, use + signals. + (impl_accessible_event_notify_event): upd. + (spi_event_listener_object_finalize): remove. + + * libspi/Makefile.am: use eventlistener.[ch] + +2001-12-04 Bill Haneman + + * libspi/registry.c (_registry_notify_listeners): + Changed listener loop iteration to use preferred convention. + Got rid of string memory leaks caused be calling g_strconcat + inside function calls. + + * libspi/registry.c (parse_event_type): + Stopped g_strconcat memory leaks, free the g_strsplit return, + g_strdup the split pieces when used, etc. + +2001-12-04 Bill Haneman + + * idl/State.idl: + Change method 'compare' to return a 'difference set' rather than + taking a StateSet as an out parameter (more Java-friendly). + + * idl/Accessible.idl: + Added CORBA struct 'BoundingBox', to faciliate API changes below: + + * idl/Component.idl: + * idl/Image.idl: + Changed methods 'getExtents' and 'getImageExtents' in these + interfaces to return a BoundingBox structure. + (getPosition and getSize are redundant and possibly should be + removed, rather than creating a corresponding Point struct.) + + * cspi/spi_component.c: + Modify implementation of getExtents to reflect the above IDL + change. + + * cspi/spi_image.c: + * cspi/spi.h: + Add (missing) AccessibleImage_getExtents () API. + + * docs/reference/cspi/at-spi-cspi-sections.txt: + Added AccessibleImage_getImageExtents () to docs. + +2001-12-03 Bill Haneman + + * idl/Component.idl: + Added two methods, getLayer () and getMDIZOrder (), to reflect + the new ATK methods atk_object_get_layer and + atk_object_get_mdi_z_order. (Which arguably should be part of the + AtkComponent API and AtkObject). Also added an enum, + ComponentLayer, for the first method's return value. + + * libspi/component.c: + Added implementations for these methods. + + * cspi/spi_component.c: + * cspi/spi.h: + Added cspi binding methods for above, + AccessibleComponent_getLayer() and + AccessibleComponent_getMDIZOrder(). + Added cspi enum 'AccessibleComponentLayer'. + + * docs/reference/cspi/at-spi-cspi-sections.txt: + Added above methods to docs. + + * cspi/spi-impl.h: + * cspi/spi*.[ch]: + Changed typedef for 'boolean' type (and all references to it) to + SPIBoolean, to avoid keyword clashes with C++. + + * test/simple-at.c: + Changed usages of 'boolean' to SPIBoolean. + + * test/keysynth-demo.c: + Changed usages of 'boolean' to 'gboolean' (since this is a gnome + app), except where SPIBoolean is required by the callbacks API. + +2001-12-02 Bill Haneman + + * cspi/spi_registry.c: + Removed obsolete X event loop for passive keygrabs (which now + lives in libspi). + + * registryd/registryd.c: + Removed unnecessary call to gdk_init() [cruft]. This also allows + removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in + * configure.in. + +2001-11-28 Bill Haneman + + * docs/reference/cspi: + Included docs for SPI_freeString in generated documentation. + + * cspi/spi-util.c:c + Renamed spi_freeString to SPI_freeString, for consistency. Added + documentation for this function. + + * cspi/spi-util.h: + Renamed spi_freeString to SPI_freeString, for consistency. + Removed obsolete method declaration string_from_corba_string. + + * test/keysynth-demo.c: + Small tweak to comments. + + * test/simple-at.c: + Stopped leaking the strings returned from CSPI. + +2001-11-28 Bill Haneman + + Merged Michael's branch (see his ChangeLog entries below). + + * at-bridge/bridge.c: Explicitly hold a ref to the registry while + bridge is alive, release on exit. + + * cspi/spi-listener-impl.c (cspi_event_listener_add_callback): + Fix type check macro. + + * cspi/spi_event.c: + Added AccessibleKeystrokeListener_unref() method to reduce leakage. + + * cspi/spi_main.c: + Added is_gnome_app static, and method cspi_is_gnome_app(), + so we can call the appropriate shutdown routine at exit in SPI_exit. + + * cspi/spi_main.c (cspi_object_ref): + Duplicate the corba object passed in, since we're keeping it around. + + * cspi/SPI_exit.c, cspi_cleanup: + Moved the releasing of the live refs to its own function, so we + can put it in g_atexit (). Call the appropriate shutdown API + depending on whethe calling client is a gnome app or not + (bonobo_main_quit or CORBA_ORB_shutdown). + + * cspi/spi_registry.c (deregisterGlobalEventListenerAll): + Unref the listener when this method is called, after + deregistration. Updated the API docs to note this behavior. + + * libspi/accessible.c (impl_get_parent, impl_get_child_at_index): + Bugfixes: Ref the bonobo object when returning a parent or child + reference, or an AccessibleRelation. Generally made sure + BonoboObject refcount is incremented whenever we return an + Accessible. + + * libspi/accessibleeventlistener.c (spi_event_listener_class_init): + Fixed typo/bug in signal declaration. + + * libspi/accessibleeventlistener.h: + Fixed a type macro. + + * libspi/application.c (spi_application_new): + Fixed leak in initialization. + + * libspi/desktop.c: + Remembered to increment bonobo-object refcount when returning + children (applications) from desktop object. + Added (empty) finalize method. + + * libspi/deviceeventcontroller.c: + Hold a ref to listeners inside DEControllerKeyListeners. + Added dec_key_listener_free() method. Use prepend instead of + append in key_listener list. Fixed some refcount madness and + leaks in the listener registration/deregistration - deregistration + now calls dec_key_listener_free() on listeners, and on the + temporarily constructed dec_key_listener() used to perform the search/match. + + * libspi/hypertext.c (spi_hypertest_finalize): + Fixed 'double unref' of AtkObject held by parent SpiAccessibleText + class. Also fixed spi_hypertext_interface_new() and + SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs. + + * libspi/hypertext.h: + Removed pointless and duplicate AtkObject pointer from + SpiHypertextClass. + + * libspi/keystrokelistener.c: + Fixed incorrect type of keystroke_listener_parent_class, + renamed keystroke_listener_object_finalize to + spi_keystroke_listener_object_finalize. + Fixed typo in signal declaration + (spi_keystroke_listener_class_init). + + * libspi/registry.c: + Added funcsions spi_listener_struct_new() and + spi_listener_struct_free() to help with memory management issues. + We also now use these methods instead of gnew + poking stuff into + the struct, and to decrement listener counts/free the listeners + when deregistering them. + Fix more refcount bugs in getDesktop() and + getDeviceEventController(). + + * test/simple-at.c: + De-ref the desktop after enumerating the applications. Explicitly + decrement the refcounts on the created listeners on exit (using + _unref for keystroke listeners, and via the + deregisterGlobalEventListenerAll command for other event + listeners). + +2001-11-27 Michael Meeks + + * cspi/spi-listener.h: fixup enum. + +2001-11-27 Michael Meeks + + * cspi/spi-listener-impl.c (cspi_event_listener_new), + (cspi_keystroke_listener_new): Use the cspi variants. + +2001-11-26 Michael Meeks + + * test/keysynth-demo.c: fix 2 compile warnings, missing + type in decl. etc. + + * test/simple-at.c (report_focussed_accessible), + (report_focus_event, report_button_press), + (check_property_change, is_command_key), + (report_ordinary_key_event, report_command_key_event): upd. + + * util/mag_client.h: include pre-requisites. + + * libspi/accessibleeventlistener.c + (spi_event_listener_object_finalize): free any lingering + callbacks. + + * libspi/keystrokelistener.c + (keystroke_listener_object_finalize): ditto. + + * cspi/spi-listener-impl.[ch]: Add to implement cspi style + callbacks, with cspi types. + + * cspi/spi_event.c (createAccessibleEventListener): chain to + (AccessibleEventListener_addCallback): here. + (createAccessibleKeystrokeListener): chain to + (AccessibleKeystrokeListener_addCallback): here. + + * libspi/keystrokelistener.c + (spi_keystroke_listener_class_init): add signal. + (impl_key_event): emit the event. + (boolean_handled_accumulator): impl. + (marshal_BOOLEAN__POINTER): add, gack. + + * libspi/accessibleeventlistener.c + (spi_event_listener_class_init): add signal. + (impl_accessible_event_notify_event): emit the signal & + make the loop efficient. + (spi_event_listener_add_callback): prepend the callback. + + * libspi/accessibleeventlistener.h: add an 'event' signal, + decl type on callback. + + * libspi/keystrokelistener.h: ditto. + + * cspi/spi-listener.h: make methods typesafe and + make them use the new event typedefs. + + * test/simple-at.c (report_focussed_accessible): + include mag_client.h + Use *(void *)text_interface not the other thing. + + * configure.in: add gtk to registryd bits - since we use + gdk there ( why ? ) + + * util/magnifier.c: include libbonobo.h + +2001-11-25 Bill Haneman + + * test/keysynth-demo.c: + Turned this into a simple scanning keyboard, to demonstrate the + use of g_timeout_add () as a means of creating timers for + scanning, and the use of GtkStyle for visually indicating when + virtual keyboard elements are selected. + + keysynth-demo now listens to any keyboard keys with zero-valued + keycodes (i.e. 'unused' keys) and interprets them as + single-switches. + + Reworked the shiftlatch code so that shift-down state isn't held + for long periods (it's only synthesized immediately prior to + the keysynth event it's modifying). Note that shiftlatch in this + demo is a convenience, not intended to take the place of AccessX + which is the better choice for getting 'sticky' modifier keys. + + * libspi/deviceeventcontroller.c: + * at-bridge/bridge.c: + * cspi/spi_registry.c: + Removed some debug print stuff, and put other verbosity in #ifdef + blocks. + + * util/magnifier.c: + * util/mag_image.h: + Implemented some more of the magnifier IDL for the simple + magnifier: namely, getZoomRegionParams. + Added mag_x and mag_y members to MagnifierData struct, aid of this + implementation. + Added GtkWindow::realize signal handler to magnifier, to keep it + from receiving keyboard focus from the WM. + +2001-11-23 Mark McLoughlin + + * cspi/spi-private.h: my guess at what michael forgot + before he ran off to NZ :-) + +2001-11-23 Michael Meeks + + * cspi/spi_event.c (AccessibleEventListener_removeCallback): + comment out non existant method invoke so we link. + + * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style, + use bonobo_exception_get_text for more friendly warnings. + + * cspi/spi.c (Obj_Add): move into spi_main & rename + spi_object_add; kill spi.c + + * cspi/spi_registry.c + (deregisterGlobalEventListener), + (deregisterGlobalEventListenerAll), + (registerGlobalEventListener): fix exception leaks. + + * cspi/spi_main.c (spi_exception): impl. helper, so we + don't leak exceptions. + + * cspi/spi_selection.c + (AccessibleSelection_deselectSelectedChild): return the + success state. + + * cspi/spi_main.c (spi_ev): impl; hack - gack. + (spi_registry): ditto. + (SPI_init): guard against double inits. + + * cspi/*.c: use spi_ev (), and spi_registry () where + appropriate - a temporary hack until we have something + better. Use spi_object_add + +2001-11-22 Michael Meeks + + * cspi/Makefile.am: re organise, install the headers. + + * cspi/*.h: add G_BEGIN/END_DECLS + +2001-22-11 Bill Haneman + + * test/simple-at.c: + Added non-preemptive keylistener for key events with no modifiers + and shift-only modifier. + + * libspi/keystrokelistener.c: + Removed some verbose diagnostics printout. + + * cspi/spi_registry.c: + Fixed a bug that caused all key listeners to be registered as + pre-emptive. + + * libspi/deviceeventcontroller.c: + Fixed bug that caused XGrabKey (preemptive key grab) to be called + for non-preemptive key masks. + + +2001-22-11 Bill Haneman + + * docs/reference/idl/at-spi-idl-docs.sgml: + * docs/reference/idl/at-spi-idl-sections.txt: + * docs/reference/idl/at-spi-idl-overrides.txt: + Added missing files. + + * docs/reference/Makefile.am: + removed idl from SUBDIRS until we can figure a way to get gtk-doc + to scan the IDL files :-( + + * docs/reference: + * docs/cspi: + * docs/idl: + Added .cvsignore files. + +2001-21-11 Bill Haneman + + * libspi/deviceeventcontroller.c: + * libspi/keystrokelistener.c: + * cspi/spi_event.c: + * cspi/spi_registry.c: + Added filters for KeySets, KeyEventSeq, and event types to key + event dispatching, so listeners should only receive those events + that they requested :-) + +2001-21-11 Bill Haneman + + * configure.in: + * docs/Makefile.am: + * docs/reference: + * docs/reference:Makefile.am: + * docs/reference/cspi: + * docs/reference/cspi:Makefile.am: + * docs/reference/cspi:tmpl: + * docs/reference/cspi:tmpl:*.sgml: + * docs/reference/idl: + * docs/reference/idl:Makefile.am: + * docs/reference/idl:at-spi-idl-sections.txt: + * docs/reference/idl:at-spi-idl-docs.sgml: + * docs/reference/idl:tmpl: + * docs/reference/idl:tmpl:*.sgml: + + Restructured docs directory to allow separate 'reference' docs + section, and forked idl and cspi docs. Added the sgml template + files to CVS. Added the first sections/structural sgml for the + IDL docs. + +2001-11-21 Laszlo Peter + + * configure.in, libspi/Makefile.am: find libXtst. + +2001-11-21 Michael Meeks + + * test/accessx-gui.c: s/spi_value/value/ - doh. + + * libspi/base.[ch]: add. + +2001-18-11 Bill Haneman + + * idl/Accessible.idl: + * idl/Application.idl: + * idl/Registry.idl: + * idl/Action.idl: + Started gtk-doc cleanup on IDL. + + * libspi/deviceeventcontroller.c: + Added and connected non-preemptive key notification from the + toolkits (in addition to the pre-emptive support from XServer + which we had before, but which causes 'focus flashing'). Filters + are presently limited to key modifiers and global/non-global, + KeySets are presently ignored, as are KeyEvent masks. + + Fixed naughtiness in dec_key_listener_new(), we copy the CORBA + structs into the persistant structure rather than just storing + pointers to things that might not persist across servant + invocations. + + The XGrabKey call now does async keygrabs, because synchronous + ones were deadlocking with GDK_event code in a very nasty way. + + Added boolean to internal method notify_keylisteners, to indicate + whether the event came from the 'toolkit source' or the 'global + (XServer) source' - this is used in the notification process to + determine which listeners to send the event to. + + deviceeventcontroller.c is now warning-free. + + * libspi/registry.c: + Fixed regression in application de-registration. + Also fixed some really brain-dead weirdness having to do with + event dispatching - event structs are now duplicated before being + re-marshalled in the dispatch to listeners. This also fixes a + Solaris build problem. + + +2001-20-11 Michael Meeks + + * libspi/registry.c + (impl_accessibility_registry_deregister_global_event_listener): + segv. protection. + + * libspi/deviceeventcontroller.c + (spi_device_event_controller_check_key_event): return + FALSE on no virtual method. + + * libspi/*..h: make includes work on a correctly pathed install. + + * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS. + + * libspi/application.h: kill unused ( and whacked out ) + gboolean *spi_application_set_id (AtkObject *app, long id); + +2001-20-11 Michael Meeks + + * libspi/*.[ch]: further convert to bonobo's type func + macros, remove redundnant casts etc. + + * libspi/text.c s/accessibility_text/spi_text/g, + re-order to de-cruft. + + * libspi/hypertext.c: re-order to kill a huge slew + of redundant forward decls. + + * libspi/relation.c: ditto. + + * libspi/image.c: ditto. + + * */.cvsignore: update + +2001-20-11 Michael Meeks + + * libspi/deviceeventcontroller.c + (_controller_register_with_devices): use g_getenv, + kill stdlib.h include. + + * libspi/keystrokelistener.c + (spi_keystroke_listener_get_type): kill + (spi_keystroke_listener_class_init), + (spi_keystroke_listener_init): rename to this. + + * libspi/text.c (impl_getAttributes): fix warning / bug. + + * libspi/*.[ch]: more headers, includes and over commenting. + +2001-20-11 Michael Meeks + + * libspi/*.[ch]: fixup headers, includes and over commenting. + + * libspi/image.c (impl__get_imageDescription): const + correctness warning fix. remove redundant casting. + + * libspi/table.c (impl_getRowDescription): ditto. + (impl_getColumnDescription): ditto. + + * libspi/libspi.h: add. + +2001-19-11 Michael Meeks + + * libspi/editabletext.c (impl_setAttributes): fix warnings. + + * libspi/component.c (accessibility_component_get_type): + rename to (spi_component_get_type): and macroify. + (accessibility_component_init): rename to + (spi_component_init): this + (accessibility_component_class_init): rename to + (spi_component_class_init): this + + * libspi/action.c (spi_action_get_type): kill, use the macro. + + * libspi/deviceeventcontroller.c (_compare_listeners): re-order + to avoid prototype. + + * libspi/application.c (spi_application_object_event_listener), + (impl_accessibility_application_register_object_event_listener): + warning fixes / const understanding updates. + + * libspi/accessible.c (impl_accessibility_accessible_get_relation_set): + warning fixes. + +2001-18-11 Bill Haneman + + * libspi/spi_accessible.c: Added docs and C bindings for + AccessibleStateSet. (No implementations yet). Documentation + coverage for C bindings now 100%. Made docs for event listeners + more explicit. + + * idl/Registry.idl: + Added methods + boolean notifyListenersSync (in DeviceEventListener listener, + in DeviceEvent event); + + oneway void notifyListenersAsync (in DeviceEventListener listener, + in DeviceEvent event); + + Added DeviceEventListener and DeviceEvent structs (may deprecate + KeyStroke and KeystrokeListener in favor of this generic + event/listener framework for devices). + + * libspi/deviceeventcontroller.c: + + Changed some key listener code to take masks, etc., and paved the + way for integration of toolkit/non-preemptive key events. Changed + signatures of some internal methods. + + * at-bridge/bridge.c: + Fixed regression connecting to interface signals, apparently + caused by GTK+ changes. + + Added an internal bridge_state_listener to deal with + property-change:accessible-state signals. + + Changed the key_listeners GList to store structs (including masks, + etc.) instead of just CORBA_Objects (required for full + implementation of key listener API). + + Connected the bridge to all currently supported Atk signals. + Events now supported: + object:property-change + object:property-change:accessible-name + object:property-change:accessible-state + object:property-change:accessible-description + object:property-change:accessible-parent + object:property-change:accessible-value + object:property-change:accessible-role + object:property-change:accessible-table-caption + object:property-change:accessible-table-column-description + object:property-change:accessible-table-column-header + object:property-change:accessible-table-row-description + object:property-change:accessible-table-row-header + object:property-change:accessible-table-summary + object:children-changed + object:visible-data-changed + object:selection-changed + object:text-selection-changed + object:text-changed + object:text-caret-moved + object:row-inserted + object:row-reordered + object:row-deleted + object:column-inserted + object:column-reordered + object:column-deleted + object:model-changed + 2001-16-11 Bill Haneman + * libspi/hyperlink.c,h: + Fixed some broken stuff in hyperlink. + * libspi/relation.h: * libspi/relation.c: * cspi/spi_accessible.c: