2002-03-27 Michael Meeks <michael@ximian.com>
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
index 1239c79..7145e08 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,799 @@
+2002-03-27  Michael Meeks  <michael@ximian.com>
+
+       * Version 0.10.0
+
+       * util/Makefile.am (INCLUDES): fix.
+       (DONT_DIST_SOURCE): don't distribute the
+       generated files.
+
+       * libspi/Makefile.am (dist-hook): ditto.
+
+2002-03-27  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * libspi/hypertext.c:
+       Fix warnings when yelp is used with atk-bridge
+
+2002-03-21  Michael Meeks  <michael@ximian.com>
+
+       * libspi/application.c (spi_application_new):
+       use spi_accessible_construct so we use the AtkObject
+       cache correctly.
+
+2002-03-19  Michael Meeks  <michael@ximian.com>
+
+       * registryd/registry.c (desktop_remove_application),
+       (desktop_add_application): clean coding style.
+
+       * registryd/desktop.c (spi_desktop_remove_application),
+       (spi_desktop_add_application): kill re-enterency hazards.
+       (spi_desktop_dispose): remove bogus redundant cast
+       obscuring bug; fix bug too.
+       (spi_desktop_init): make the desktop object immortal.
+
+2002-03-16 Bill Haneman <bill.haneman@sun.com>
+
+       * test/simple-at.c:
+       Added a #define-guarded tree-traversal step
+       when enumerating the apps (diagnostic tool).
+
+2002-03-15 Bill Haneman <bill.haneman@sun.com>
+
+       * idl/Accessibility_Role.idl:
+       Added ROLE_DRAWING_AREA which seemed to be missing from the
+       previous commit.
+
+2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
+
+       * cspi/spi-roletypes.h cspi/spi_accessible.c
+       idl/Accessibility_Role.idl libspi/accessible.c: synched up role
+       types with ATK.
+
+       * registryd/desktop.c registryd/desktop.h registryd/registry.c:
+       Added signals to SpiDesktop and callbacks in SpiRegistry to notify
+       AT when applications are added and removed from the desktop.  This
+       reverts the previous broken implementation using the backing
+       AtkObject for the SpiDesktop.
+       
+       2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
+
+       * registryd/desktop.c: emit the "children-changed::add" and
+       "children-changed::remove" signals on the backing ATK object for
+       the desktop so AT can tell when applications are started and shut
+       down.
+
+       2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
+
+       * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
+
+       2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
+
+       * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
+
+       * cspi/spi_accessible.c: Implemented c bindings for stateset support
+
+       * cspi/state-types.h: synched with IDL and ATK
+
+       2002-03-13  Bill Haneman <bill.haneman@sun.com>
+
+       * libspi/accessible.c 
+       (impl_accessibility_accessible_get_child_at_index):
+       Change return value for g_return_if_fail ()
+       to CORBA_OBJECT_NIL instead of "0" (!)
+
+       * registryd/Makefile.am:
+       * registryd/Accessibility_Register.server.in:
+       Changed name of executable, "registryd",
+       to something more informative:
+       "at-spi-registryd".
+
+2002-03-13  Michael Meeks  <michael@ximian.com>
+
+       * atk-bridge/bridge.c (atk_bridge_init): don't register
+       if we're in a bonobo-component, rather than a bonobo app.
+
+2002-03-13  Michael Meeks  <michael@ximian.com>
+
+       * atk-bridge/bridge.c (gtk_module_init): split
+       out body to (atk_bridge_init): here, since otherwise
+       we get symbol conflicts and oddness when invoked
+       from (gnome_accessibility_module_init): here (upd.)
+
+2002-03-11  Bill Haneman  <bill.haneman@sun.com>
+
+       * HACKING:
+       New file.  Explicitly allow "build sheriff" putbacks provided
+       they are tested on Solaris.
+       
+       * docs/reference/cspi/Makefile.am:
+       Added '-' to the "cp" command for index.sgml.
+       ("patch by thomasvs, soon coming to a GUADEC near you")
+
+       * configure.in:
+       Incremented version number (0.9.0) for new release.
+       Changed macro that checks for popt, to better detect
+       obsolete versions of popt.
+       
+       * configure.in:
+       Added X_LIBS to AC_SUBST, for applications
+       that call Xlib API directly.
+       
+
+2002-03-07  Bill Haneman  <bill.haneman@sun.com>
+
+       * configure.in:
+       Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
+
+       * util/Makefile.am:
+       Fix regression caused by hard-coding major
+       version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
+       (see above change).
+       
+       * test/test-simple.c (test_editable_text),
+       (test_test): revert previous change (error was 
+       a regression in gail which is now fixed).
+       
+2002-03-04  Michael Meeks  <michael@ximian.com>
+
+       * test/test-simple.c (test_editable_text),
+       (test_text): pass G_MAXINT instead of '-1' for
+       whole string - is this a good thing !?
+
+       * cspi/spi_accessible.c
+       (Accessible_getRelationSet): fix crasher bug
+       overwriting the end of the array.
+
+       * test/test-simple.c (validate_accessible): free,
+       not g_free returned relation set.
+
+2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
+
+       * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
+       implemented stateset support
+
+       * idl/Accessibility_State.idl: Made necessary changes to
+       the IDL to support state sets.
+
+2002-02-12 Bill Haneman <bill.haneman@sun.com>
+
+       * registryd/deviceeventcontroller.c:
+       Added implementation for generateMouseEvent.
+
+       * cspi/spi_registry.c:
+       Connected new implementation for generateMouseEvent
+       to the C bindings.
+       
+2002-02-12 Bill Haneman <bill.haneman@sun.com>
+
+       * configure.in: 0.8
+       Incremented revision (but no change in public API
+       outside of 'utils', which are not installed public yet.)
+
+       * libspi/component.c:
+       Changed to use atk_component API for layers and
+       mdi_zorder, instead of deprecated atk_object API.
+       
+       Magnification Utility Enhancements:
+       
+       * util/magnifier.c:
+       Added implementation of createZoomRegion, clearAllZoomRegions,
+       resizeZoomRegion.  Added new commandline argument
+       "--no-initial-region".  Note that clearAllZoomRegions doesn't
+       unmap the old '0' region as it should (yet), and the other
+       methods only work when creating/resizing a single region,
+       which is "region 0".  
+       (Code for multiple region support will be added later.)
+
+       * util/mag_image.c:
+       Now we raise the magnifier window each time it's refreshed;
+       this will help keep it on top.
+       
+       * util/mag_client.h:
+       Added simple wrappers for above, used by mag_control.
+       For general use, it's recommended to use the bonobo magnifier
+       control API directly instead of using these wrappers.
+
+       * util/mag_image.h:
+       Moved ZoomRegionData from magnifier.c to this file.
+       
+       * util/mag_control.c: 
+       Added some code to exercise new IDL implementations.
+       
+2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
+
+       * libspi/text.c: Provide implementation for getAttributes.
+
+2002-02-04  Bill Haneman <bill.haneman@sun.com>
+       
+       * configure.in:
+       Incremented revision.
+
+       * test/test-simple.c:
+       Replaced use of deprecated g_main_iteration with 
+       g_main_context_iteration.
+       
+2002-01-28  Padraig O'Briain <padraig.obriain@sun.com>
+
+       * configure.in:
+       Incremented revision for desktop alpha 2.
+
+2002-01-28  Mark McLoughlin  <mark@skynet.ie>
+
+       * libspi/remoteobject.[ch]: make RemoteObject and interface rather
+       than an atk object.
+
+       * test/simple-at.c: include netinet/in.h.
+
+2002-01-24  Mark McLoughlin  <mark@skynet.ie>
+
+       * cspi/spi_accessible.c: (Accessible_getRelationSet):
+       use NULL, not CORBA_OBJECT_NIL.
+
+       * libspi/accessible.c:
+       (impl_accessibility_accessible_get_relation_set):
+       allocate the sequence correctly.
+
+       * libspi/remoteobject.h: kill spi_remote_object_new.
+
+       * test/test-simple.c: (validate_accessible): add code
+       to test relation sets, now all we need is to figure
+       out how to excercise this code path :/
+
+2002-01-18  Michael Meeks  <michael@ximian.com>
+
+       * test/test-simple.c
+       (key_listener_cb): consume the key.
+       (test_keylisteners): update.
+       (main): wait for any pending unrefs on events.
+
+       * registryd/deviceeventcontroller.c
+       (spi_controller_update_key_grabs): only re-issue the
+       grab on a key release.
+       (spi_device_event_controller_forward_key_event):
+       refresh the keygrabs before we notify the listeners,
+       to reduce the X ungrab / re-grab race.
+       (spi_controller_register_with_devices): remove
+       XSelectInput - we do that with the gdk_window_ call.
+       (_spi_controller_device_error_handler): return a value.
+       s/GDK_DISPLAY/spi_get_display/
+
+2002-01-17  Michael Meeks  <michael@ximian.com>
+
+       * registryd/deviceeventcontroller.c
+       (_deregister_keygrab): don't blow out the later
+       assertion.
+
+       * test/test-simple.c (test_keylisteners): do a
+       more intelligent validation.
+
+2002-01-14  Michael Meeks  <michael@ximian.com>
+
+       * atk-bridge/bridge.c
+       (gnome_accessibility_module_init),
+       (gnome_accessibility_module_shutdown): impl.
+       (gtk_module_init): protect vs. double inits.
+       (add_signal_listener): impl.
+       (spi_atk_bridge_state_event_listener): kill
+       (deregister_application): split out of
+       (spi_atk_bridge_exit_func): here.
+
+2002-01-18  Bill Haneman <bill.haneman@sun.com>
+
+        * test/simple-at.c:
+       Added caret tracking when using magnifier, and 
+       now use text bounds for focus tracking of text elements, rather than
+       the component bounds - this is helpful for short text fields in long
+       table cells, at high magnification.
+       
+2002-01-16  Bill Haneman <bill.haneman@sun.com>
+
+       * registryd/deviceeventcontroller.c:
+       Regression fix for keylistener de-registration; global keygrabs
+       were not being released when deregisterKeystrokeListener was
+       called in cspi, since 
+       Accessibility_DeviceEventController_deregisterKeystrokeListener
+       was called with a zero-length keyset.  That is because the cspi
+       method, SPI_deregisterKeystrokeListener, does not take a keyset
+       parameter but instead should remove all the key grabs held be a
+       keystroke listener.  
+       The code in impl_deregister_keystroke_listener was changed to copy
+       the keylist from the listener instance previously registered with
+       the DeviceEventController before releasing the grabs.
+
+       * registryd/registry.c:
+       * registryd/deviceeventcontroller.c:
+       * libspi/spi-private.h:
+       * libspi/util.c:
+       Changed spelling of "re-enterant" to "re-entrant" globally.
+
+2002-01-16  Bill Haneman <bill.haneman@sun.com>
+
+       * test/test-simple.c:
+       Changed key listeners test - the test was slightly mis-using the
+       (admittedly poorly documented) SPI_generateKeyboardEvent API.
+       It now uses '=' as the key event listened to and generated,
+       relying on a keysym match rather than assuming that keycode 33 
+       is always equal to keysym '!'.
+
+2002-01-15  Bill Haneman <bill.haneman@sun.com>
+
+       * test/simple-at.c:
+       Changed simple-at to use a specific keyset, rather than
+       SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
+       manager, desktop, etc.
+       
+2002-01-11  Bill Haneman <bill.haneman@sun.com>
+
+       * registryd/deviceeventcontroller.c:
+       Replaced standard X error handler with a special handler that 
+       is non-fatal for failed keygrabs.  This works around 
+       problems with keygrab clashes sometimes observed on 
+       Solaris using CDE.
+       Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate 
+       mouse handling code as yet).
+       
+2002-01-11  Bill Haneman <bill.haneman@sun.com>
+
+       * configure.in:
+       Incremented revision for desktop alpha release.
+
+       * README:
+       Fixed a couple of the more glaring errors (still not 
+       very up-to-date).
+
+2002-01-11  Michael Meeks  <michael@ximian.com>
+
+       * registryd/deviceeventcontroller.c
+       (spi_device_event_controller_forward_key_event): kill
+       XUngrabKey / XKeyGrab race.
+       (spi_controller_grab_keyboard): rename to
+       (spi_controller_update_key_grabs): this, and deal
+       with incremental adding / removing grabs more
+       sensibly.
+       (_register_keygrab): ensure we're not pending a remove.
+       (spi_grab_mask_free): impl.
+       (spi_controller_register_global_keygrabs): split out
+       common code into:
+       (handle_keygrab): impl.
+       (_deregister_keygrab): impl.
+       (spi_controller_deregister_global_keygrabs): impl.
+       (spi_controller_update_key_grabs): re-issue the grab if
+       we just recieved a notification.
+
+       * test/test-simple.c (key_listener_cb): remove debug.
+
+       * registryd/deviceeventcontroller.c
+       (spi_controller_register_device_listener): after
+       registering a global keygrab, actualy register it !
+       don't wait for a timeout; doh !
+
+       * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
+       to make it more readable / manipulable.
+       s/grabmask/grab_mask/ s/refcount/ref_count/
+       s/keyval/key_val/ s/modmask/mod_mask
+
+2002-01-08  Michael Meeks  <michael@ximian.com>
+
+       * registryd/deviceeventcontroller.c
+       (spi_controller_register_with_devices): use gdk calls to
+       setup a filter.
+       (global_filter_fn): implement the filter.
+       (spi_device_event_controller_check_key_event): rename to
+       (spi_device_event_controller_forward_key_event): this & upd.
+       (spi_get_display): replace with GDK_DISPLAY.
+
+       * registryd/deviceeventcontroller.c
+       (spi_controller_deregister_device_listener): unroll into
+       (impl_deregister_keystroke_listener): here to simplify.
+       (spi_controller_register_global_keygrabs): split cut and
+       paste (!) out into (_register_keygrab): here, shorter & sweeter.
+       (spi_controller_deregister_device_listener): remove.
+       (impl_register_mouse_listener): remove, no mouse listener
+       support in at-spi-1.0
+
+       * registryd/registry.c
+       (_device_event_controller_hook): kill.
+       (spi_registry_init): upd.
+
+       * registryd/deviceeventcontroller.c
+       (spi_device_event_controller_class_init): upd.
+       (spi_check_key_event): merge into.
+       (spi_device_event_controller_check_key_event):
+       here and kill strange static ev init, don't leak
+       the x_event - nor dynamicaly allocate it.
+
+       * registryd/registry-main.c (main): re-direct
+       timeout to remove strange vtable mess.
+
+       * registryd/deviceeventcontroller.c
+       (remove_listener_cb): impl.
+       (spi_controller_deregister_device_listener):
+       fix re-enterancy hazard.
+
+2002-01-07  Michael Meeks  <michael@ximian.com>
+
+       * registryd/deviceeventcontroller.c
+       (spi_device_event_controller_new): upd.
+       (impl_notify_listeners_sync): upd. debug.
+       (spi_notify_keylisteners): fix re-enterancy hazards,
+       prettify, remove O(n*n) iteration.
+       (spi_controller_grab_keyboard): fix iteration.
+       (spi_check_key_event): re-format to suit coding style.
+       Clean all the warnings - we're warning free.
+
+       * registryd/deviceeventcontroller.h:
+       * registryd/registry.h: make mutualy referential with
+       typesafe forward references instead of (!) void pointer
+       hacks.
+
+2002-01-11  Michael Meeks  <michael@ximian.com>
+
+       * cspi/spi_accessible.c (role_names): add a role name
+       to sync this array with the enum; and make the regression
+       tests pass, sigh.
+
+2002-01-10  Michael Meeks  <michael@ximian.com>
+
+       * cspi/spi_registry.c (SPI_generateKeyboardEvent): 
+       allow expansion of enumeration & kill warning.
+
+       * test/test-simple.c (key_listener_cb): impl.
+       (test_keylisteners): impl.
+
+       * cspi/spi-listener.h: make listener signatures const
+       on the provided (const) events.
+
+       * test/keysynth-demo.c: upd. to const events.
+
+       * test/simple-at.c: ditto.
+
+2002-01-11  Bill Haneman <bill.haneman@sun.com>
+
+        * configure.in:
+       Rev the version to 0.5 (the previous tarball was named 0.4, 
+       even though the micro number was 3), so we need to rev upwards
+       again for beta2/"desktop-alpha" 
+       * test/demo.csh:
+       Checked in a demo script, which requires editing before use!
+       Proceed with caution.
+       
+       * libspi/value.h:
+       Fixed typo in header which was redefining SPI_ACTION_CLASS.
+
+       * cspi/spi_accessible.c:
+       Add a couple of missing enum initializations, and fix some enum
+       comments.
+
+       * cspi/spi_registry.c:
+       Add comment describing keystring parameter to SPI_generateKeyboardEvent.
+       
+       * docs/reference/cspi/at-spi-cspi-sections.txt:
+       Remove/fix a couple of broken document references.
+
+       * test/simple-at.c:
+       Minor tweaks to the demo.  We now (sigh) use Alt-SHIFTLOCK as well
+       as Alt-Control to listen for commands, since on some systems
+       Control-Alt may already be grabbed.
+
+2002-01-10  Bill Haneman <bill.haneman@sun.com>
+
+       * 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-01-09  Bill Haneman <bill.haneman@sun.com>
+
+       * 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  <michael@ximian.com>
+
+       * 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  <michael@ximian.com>
+
+       * test/simple-at.c (main): upd. auto-module set to atk-bridge
+
+       * test/test-simple.c (main): ditto.
+
+2002-01-04  Michael Meeks  <michael@ximian.com>
+
+       * 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  <michael@ximian.com>
+
+       * 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 <bill.haneman@sun.com>
+
+       * libspi/accessible.c (spi_accessible_new ()) :
+       Added check to see if AtkObject is an SpiRemoteObject before
+       creating an SpiAccessible.
+       
+2002-05-01  Bill Haneman <bill.haneman@sun.com>
+
+       * 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 <bill.haneman@sun.com>
+
+       * 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  <marc.mulcahy@sun.com>
+
+       * 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 <bill.haneman@sun.com>
+
+       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  <marc.mulcahy@sun.com>
+
+       * 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 <bill.haneman@sun.com>
+
+       * 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 <marc.mulcahy@sun.com>
+
+       * 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 <bill.haneman@sun.com>
+
+       * 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 <bill.haneman@sun.com>
+
+       * 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 <bill.haneman@sun.com>
+
+       * 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 <bill.haneman@sun.com>
 
        * libspi/accessible.c: