*** empty log message ***
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
index e46bbf8..dd16439 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2003-01-21  Padraig O'Briain <padraig.obriain@sun.com
+
+       * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
+       This fixes bug #102830.
+
+2003-01-15  Padraig O'Briain <padraig.obriain@sun.com
+
+       * test/test-simple.c: Update to take account of fact that GailButton 
+       now implements AtkText.
+       (create_text_window): Set name on AtkObject for GtkEntry.
+       (validate_accessible): Check accessible name before calling test_text().
+
+       * libspi/Makefile.am: Fix problem with building outside of source
+       directory. Bug #98120.
+
+       * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
+       typo in documentation comments. Bug #94275.
+
+2003-01-15  Padraig O'Briain <padraig.obriain@sun.com
+
+       * libspi/text.c (impl_getBoundedRanges): Bug fix.
+
+2003-01-10  Padraig O'Briain <padraig.obriain@sun.com
+
+       * libspi/text.c:
+       Add includes to avoid compiler warnings on Solaris.
+       (impl_getRangeExtents): Bug fix.
+
+2002-12-17  Bill Haneman <bill.haneman@sun.com
+
+        Fix for 100944, [API addition approved by Gman and murrayc].
+       
+       * NEWS: updated.
+       
+       * configure.in:
+       Revved to 1.1.8.
+
+       * idl/Accessibility_Text.idl:
+       (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
+       (Text::getRangeExtents): New method for efficient 
+       bounds query of a text range.
+       (Text::getBoundedRanges): New method for efficient
+       clipping of text to bounding boxes.
+       (unImplemented7, unImplemented8): 
+       Removed these padding methods to preserve bincompat.
+
+       * libspi/text.c:
+       (impl_getRangeExtents): implementation of new IDL.
+       (impl_getBoundedRanges): implementation of new IDL.
+       (SpiTextRect): Internal use struct.
+       (_spi_text_rect_union): internal method, calculates union of two
+       SpiTextRect bounding rects.
+       (_spi_text_range_seq_from_gslist): internal method, allows us
+       to build our sequence efficiently as a gslist then convert it
+       to a CORBA seq.
+       (_spi_bounds_contain): internal method, determines whether
+       a text character is "in" or "out" of a clip rect according to
+       values of TEXT_CLIP_TYPE.
+       (spi_text_class_init): Initialize the new methods in the epv.
+       
+       * cspi/spi.h:
+       (AccessibleTextClipType): New enum used by screen review api.
+       (AccessibleTextRange): New struct used by screen review api.
+       (AccessibleText_getRangeExtents): 
+       cspi binding for Accessibility_Text_getRangeExtents.
+       (AccessibleText_getBoundedRanges):
+       cspi binding for Accessibility_Text_getBoundedRanges.
+       (AccessibleTextRange_freeRanges): convenience method.
+       
+       * cspi/spi_text.c:
+       (AccessibleText_getRangeExtents): 
+       cspi binding for Accessibility_Text_getRangeExtents.
+       (AccessibleText_getBoundedRanges):
+       cspi binding for Accessibility_Text_getBoundedRanges.
+       (AccessibleTextRange_freeRanges): convenience method.
+       (get_accessible_text_clip_type): internal conversion method.
+       (get_accessible_text_ranges_from_range_seq): internal conversion method.
+
+       * registryd/deviceeventcontroller.c:
+       (spi_dec_mouse_check):
+       Improved behavior for mouse:abs events 
+       [same granularity as mouse:rel events, and no
+       events when mouse is idle].     
+       
+2002-12-16  Michael Meeks  <michael@ximian.com>
+
+       * cspi/spi_accessible.c (spi_state_to_corba): rename.
+
+       * libspi/stateset.c (state_spi_to_atk): split out
+       ( fix several remote array bounds nasties )
+       (spi_atk_state_set_from_sequence, impl_contains, impl_add),
+       (impl_remove): make safe from array bounds issues.
+       (spi_atk_state_from_spi_state): impl.
+
+       * libspi/stateset.h (spi_state_set_cache_is_empty): 
+       add a set of wrapper defines to get layering right.
+
+       * cspi/spi_accessible.c: update state set stuff to
+       use it.
+
+2002-12-14  Michael Meeks  <michael@ximian.com>
+
+       * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
+       to avoid 2 roundtrips to the registry per key event
+       (spi_atk_bridge_key_listener): upd.
+       (deregister_application): release the dec.
+
+       * registryd/registry.c (notify_listeners_cb):
+       bin lots of re-enterant complexity - we no longer
+       do a round-trip bonobo ref here, ensure that a single
+       listener's exception failure won't poison all other
+       notifications.
+       (impl_registry_notify_event): bin obvious memory leak.
+
+2002-12-13  Michael Meeks  <michael@ximian.com>
+
+       * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
+       init the ev so the error is meaningful.
+       (spi_atk_bridge_key_listener): ditto.
+
+       * cspi/spi_main.c (cspi_ev): init the ev so we start
+       with a clean slate, otherwise the first exception
+       kills us completely.
+
+       * cspi/spi_text.c (get_accessible_text_boundary_type): 
+       add a fallthrough for no warnings.
+
+       * cspi/spi_registry.c: prune unused warnings.
+
+       * cspi/spi_main.c (cspi_object_take): fix
+       mind-blowing brokenness ( by watching the compile
+       warnings )
+
+       * cspi/spi_accessible.c (Accessible_getStateSet):
+       re-impl. to use an AtkStateSet.
+       (spi_state_type_from_accessible_state),
+       (init_state_table): bin these.
+
+       * libspi/stateset.c (spi_atk_state_set_from_sequence):
+       split out from
+       (atk_state_set_from_accessibility_state_set): here.
+
+       * cspi/spi_accessible.c (spi_state_to_atk): impl.
+       (AccessibleStateSet_contains, AccessibleStateSet_ref),
+       (AccessibleStateSet_unref, AccessibleStateSet_contains),
+       (AccessibleStateSet_add, AccessibleStateSet_remove),
+       (AccessibleStateSet_equals, AccessibleStateSet_compare),
+       (AccessibleStateSet_isEmpty): re-write to use a local
+       AtkStateSet object.
+
+2002-12-13  Bill Haneman <bill.haneman@sun.com>
+
+       * configure.in: Revved to 1.1.7 (new keymask vals).
+
+2002-12-10  Bill Haneman <bill.haneman@sun.com>
+
+       * libspi/keymasks.h:
+       Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
+
+2002-12-10  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * cspi/spi_event.c 
+       (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent() 
+       to compare two CORBA_TypeCodes.
+       (cspi_internal_event_add): Silence warning from FORTE compiler.
+
+       * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to 
+       avoid implicit declaration of functions.
+       
+2002-12-09  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * atk-bridge/bridge.c:
+       (spi_atk_bridge_init_event_type_consts): Store signal id for
+       active-descendant-changed signal.
+       (spi_atk_register_event_listeners): Add signal listener for
+       active-descendant-changed signal,
+       (spi_atk_bridge_signal_listener): Move code in function 
+       spi_atk-signal_emit_event() into this function.
+       Add support for active-descendant-changed
+       Update support for child-changed signal.
+       (spi_bridge_window_event_listener): Silence warning.
+
+       * libspi/spi_private.[ch]:
+       (spi_init_any_object): Change second parameter from CORBA_Object to
+       CORBA_Object*.
+       Omit call to CORBA_Object_duplicate(). 
+       Set CORBA_any's _value to CORBA_Object*.        
+
+2002-12-06  Bill Haneman  <bill.haneman@sun.com>
+
+       * configure.in:
+       Revved to 1.1.6.
+       
+       * cspi/spi.h: 
+       (AccessibleEvent_ref, AccessibleEvent_unref):
+       New methods, for persisting an event outside the emission context.
+       Must be used if the new accessor methods are to be called
+       outside of the event listener's callback.
+
+       * cspi/bonobo/cspi-bonobo.c:
+       (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
+       as second parameter instead of NULL, so we can call
+       cspi_check_ev afterwards.
+       
+       * cspi/spi_main.c:
+       (cspi_object_take): New internal method, 
+       converts a CORBA_Object reference to a hard ref on
+       an Accessible if possible, returning NULL if the object
+       reference is invalid or an Accessible * otherwise.
+
+       * cspi/spi_event.c:
+       (AccessibleEvent_ref): 
+       Increment the event's internal private refcount, and 
+       add the event's internal struct to an internal cache 
+       if it's not already there.
+       (AccessibleEvent_unref): 
+       Decrement the event's refcount and remove it from
+       the cspi event cache if refcount==0.
+       (cspi_event_compare): New private method.
+       Compares two event structs via their ids. Used 
+       for queue lookup.
+       (cspi_internal_event_lookup): New private method.
+       (cspi_internal_event_check): New private method,
+       a 0-order sanity check for events to make sure their
+       private data is intact.
+       (cspi_internal_event_add, cspi_internal_event_remove):
+       New private methods for managiing the event cache.
+
+       * cspi/bonobo/cspi-bonobo-listener.c:
+       (cspi_event):
+       Initialize the new private data elements (id, magic, ref_count).
+       
+       * atk-bridge/bridge.c:
+       (spi_atk_bridge_signal_listener):
+       Fixed bug #100530, passing wrong params to emission func.
+
+       * registryd/deviceeventcontroller.c:
+       (spi_dec_button_update_and_emit): 
+       Fixed type in mask bit operations; fix for #99799.
+       
+2002-12-02  Bill Haneman  <bill.haneman@sun.com>
+
+       Removed some of the more dangerous workarounds from
+       previous commit; they are only needed by GOK, which
+       in reality should be using another method to accomplish
+       the goals.  So on reconsideration some of the workarounds
+       need to be reverted:
+       
+       * registryd/deviceeventcontroller.c:
+       (spi_keycodes_contain, spi_dec_init_keycode_list): 
+       Removed these methods, used only by a nasty hack to try
+       and detect whether a key synthesis should be allowed
+       to reset the XKB latch state or not. This code was only
+       required to work around an interaction between GOK,
+       button events, and XKB.
+       (impl_generate_key_event):
+       Removed hack at end of key generation that tried to
+       "do the right thing" if XKB latch keys were generated
+       in the midst of button press/release pairs.  
+
+       * configure.in:
+       Added a check for HAVE_XINPUT.  Not normally used yet.
+
+2002-11-25  Bill Haneman  <bill.haneman@sun.com>
+
+        Workarounds and fixes for mouse event/XKB interaction.
+       
+       * registryd/deviceeventcontroller.c:
+       (spi_keycodes_contain, spi_dec_init_keycode_list): 
+       New internal methods.
+       (spi_dec_set_unlatch_pending):
+       Split the method that tells XKB to expect an
+       unlatch (and revert it) out of the rest of the
+       event handling code.  This method is called by the
+       two mouse event handlers (the poll and the filter).
+       (spi_dec_update_and_emit, spi_dec_mouse_check): 
+       New methods split from spi_dec_poll_mouse_moved.
+       The second one is now called from inside the filterFn
+       when an XKB delatch event is received, to determine 
+       whether to revert the delatch or not.
+       (spi_poll_mouse_moved): Refactor; also we can now
+       properly handle the case where multiple button states
+       have changed between polling cycles and we didn't get
+       notified due to another client's grab.
+       (global_filter_fn): 
+       Synchronize the server while handling an XKB notification.
+       Ugly, but apparently necessary to avoid nasty races.
+       Check the mouse state on receipt of an XKB latch change,
+       to decide whether to revert the latch or not. (Latches are
+       reverted if there is an immediately preceding mouse button
+       event that a client has consumed, in which case we don't want
+       the user to see the side-effect of the event).
+       (spi_device_event_controller_forward_mouse_event):
+       Check for modifier events and fire before resetting mouse_mask_state,
+       prevents losing modifier events.
+
+       (impl_generate_keyboard_event):
+       If we've just generated a keyboard event for a non-shift key,
+       we don't want to revert the pending XKB latch. 
+       Otherwise, check the modifier state (via a call to 
+       spi_dev_mouse_check) and set the relatch mask to 
+       that state before returning.
+       
+2002-11-24  Bill Haneman  <bill.haneman@sun.com>
+
+        * NEWS: 
+       Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
+       retagged).
+       
+       * atk-bridge/bridge.c:
+       (spi_atk_register_event_listeners):
+       Don't re-register for ATK events if the registry has died
+       and the app needs to re-register; the ATK listeners are in
+       process and doing so will cause duplicate emission.
+
+       * registryd/deviceeventcontroller.c:
+       (spi_poll_mouse_moved):
+       Reformat the source, detect and emit multiple button-change
+       events (i.e. if multiple buttons have changed between poll
+       intervals).
+       Add code to detect mouse-down events even when the pointer
+       is grabbed; workaround for GOK bug 98420.
+       (spi_controller_register_with_devices):
+       Call XTestGrabControl with 'impervious' flag set to True,
+       allows us to synthesize events and query the pointer even during
+       an active grab by another client.
+       (spi_device_event_controller_forward_mouse_event):
+       Set the mouse_mask_state to the mouse_button_state from
+       the intercepted event, to synchronize the grab listener with
+       the poll state.
+       
+2002-11-20  Bill Haneman  <bill.haneman@sun.com>
+
+       * cspi/spi_accessible.c:
+       (AccessibleRole_getName):
+       Added necessary strings for making this (deprecated) 
+       method work with the new role types. 
+       (init_role_table, role_table):
+       Added definition of SPI_ROLE_APPLICATION.
+
+       * libspi/spi-roletypes.h:
+       Added SPI_ROLE_APPLICATION.
+
+       * idl/Accessibility_Role.idl:
+       Added ROLE_APPLICATION. 
+
+       * docs/reference/cspi/at-spi-cspi-decl.txt:
+       Added SPI_ROLE_APPLICATION to docs.
+
+2002-11-20  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * cspi/spi_accessible.c
+       (cspi_init_role_table): Do not write beyond end of role_table.
+       (Accessible_getRole): Use correct type for value returned by
+       Accessibility_Accessible_getRole().
+
+       * libspi/accessible.c (spi_init_role_lookup_table): Do not write
+       beyond end of role_table. (This fixes bug #98269)
+
+       * libspi/application.c: Add include file spi-private.h for 
+       definition of spi_init_any_nil.
+
+2002-11-19 Bill Haneman <bill.haneman@sun.com>
+
+        FIX for bug 99024.
+       
+       * libspi/spi-private.h:
+       Added DGB() macro, and extern int _dbg declaration.
+       
+       * registryd/registry.c:
+       (definitions) storage for _dbg.
+       (spi_registry_init):
+       Get environment variable "AT_SPI_DEBUG".
+       (spi_registry_set_debug):
+       New method, to initialize _dbg value.
+       (spi_listener_struct_new, spi_registry_object_finalize):
+       (notify_listeners_cb):
+       Changed fprintfs to use DBG and g_warning().
+
+       * registryd/deviceeventcontroller.c:
+       (_deregister_keygrab, spi_controller_register_device_listener):
+       Changed debug/warning messages to use DBG macro.
+
+       * libspi/listener.c:
+       (impl_notify_event):
+       Changed warning messages to use DBG macro and g_warning().
+
+       * atk-bridge/bridge.c:
+       (atk_bridge_init, spi_atk_bridge_get_registry):
+       (spi_atk_bridge_exit_func):
+       (spi_atk_bridge_property_event_listener):
+       Changed status, warning, and error messages to use
+       g_warning, g_message, and DBG macros.
+
+       (atk_bridge_init):
+       Read the state of the AT_SPI_DEBUG environment variable
+       and set a local '_dbg' accordingly.
+       
+2002-11-19 Bill Haneman <bill.haneman@sun.com>
+
+        FIXES for 98836, 98842, other bugs.
+       
+       * configure.in:
+       Revved to 1.1.4, interface-age=4, binary-age=4.
+
+       * registryd/deviceeventcontroller.c:
+       (statics):
+       Fixed crasher bug in last_mouse_pos initialization.
+
+       * registryd/registry.c:
+       (desktop_add_application, desktop_remove_application):
+       Added (and then commented out) some support for
+       object context marshalling. [TODO]
+
+       * atk-bridge/bridge.c:
+       (spi_atk_bridge_event_context_create):
+       Commented out object context creation until it can
+       be properly tested and debugged.
+
+       * registryd/registry.c:
+       (impl_registry_notify_event):
+       Fixed crasher bug, we were calling 
+       spi_re_entrant_list_foreach () with an empty list.
+
+2002-11-18  Bill Haneman <bill.haneman@sun.com>
+       
+       * idl/Accessibility_Action.idl:
+       * idl/Accessibility_Component.idl:
+       * idl/Accessibility_Desktop.idl:
+       * idl/Accessibility_Event.idl:
+       * idl/Accessibility_Hyperlink.idl:
+       * idl/Accessibility_Image.idl:
+       * idl/Accessibility_Relation.idl:
+       * idl/Accessibility_Selection.idl:
+       * idl/Accessibility_State.idl:
+       * idl/Accessibility_Value.idl:
+       Updated unimplemented slot count to minimum of
+       four for all interfaces, for ABI freeze. 
+
+       * idl/Accessibility_EditableText.idl:
+       * idl/Accessibility_Text.idl:
+       Updated unimplemented slot count to six
+       for ABI freeze. 
+       
+       * idl/Accessibility_Registry.idl:
+       Updated unimplemented slot count to six
+       (also for DeviceEventController), 
+       for ABI freeze. 
+
+       * idl/Accessibility_Table.idl:
+       Updated unimplemented slot count to eight,
+       for ABI freeze. 
+
+       * idl/Accessibility_Event.idl:
+       Added CORBA_any "any_data" member to Event struct.
+
+       * idl/Accessibility_Event.idl:
+       Added CORBA_any "any_data" member to Event struct.
+
+       * atk-bridge/bridge.c:
+       (statics):
+       atk_signal_text_changed, atk_signal_child_changed,
+       signal ids queried from gtype system.
+       (AtkBridgeEventContextType): New enum.
+       (AtkBridgeEventContextData): New struct.
+       (AtkBridgeEventContext): New struct.
+       (atk_bridge_init_event_type_consts):
+       New method, initializes type contants for comparison 
+       prior to emit_eventv.
+       (atk_bridge_event_context_init): New method,
+       initializes a CORBA_any from an AtkBridgeEventContext.
+       (atk_bridge_focus_tracker): Call spi_init_any_nil to
+       initialize the event.any_data struct.
+       (spi_atk_bridge_event_context_create): New method,
+       creates an AtkBridgeEventContext from signal/event info.
+       (spi_atk_bridge_event_context_free): New method.
+       (spi_atk_emit_eventv): Changed to take an 
+       AtkBridgeEventContext parameter. We now initialize
+       the event.any_data member prior to notifying the 
+       Registry, via the AtkBridgeEventContext.
+       (spi_atk_bridge_property_event_listener):
+       (spi_atk_bridge_state_event_listener):
+       Match emit_eventv signature.
+       (spi_atk_bridge_object_event_listener):
+       Match emit_eventv signature, and create an
+       event context from the event details.
+       Free the event context afterwards.
+       (spi_atk_bridge_window_event_listener):
+       Create an event context, pass it to the
+       emit_eventv call.
+       
+       * cspi/spi_event.c:
+       (AccessibleEvent_getContextString):
+       (AccessibleEvent_getContextObject):
+       New methods, allow query of AccessibleEvent objects
+       for more context details (via the "any_data" member 
+       of the Event struct, above).
+       
+       * cspi/spi.h:
+       Definitions for AccessibleEvent_getContextString
+       and AccessibleEvent_getContextObject.
+
+       * cspi/spi_listener.h:
+       (InternalEvent): New struct.
+
+       * cspi/spi_event.c:
+       (AccessibleEvent_getContextString):
+       (AccessibleEvent_getContextObject):
+       Implementations of new methods, for obtaining
+       additional context information from some event types.
+
+       * cspi/spi_registry.c:
+       (SPI_registerGlobalEventListener):
+       Added mention of active-descendant-changed event in docs.
+
+       * cspi/cspi-bonobo-listener.c:
+       (cspi_event):
+       Marshal the any into the AccessibleEvent via
+       InternalEvent.
+       
+       * libspi/spi-private.h:
+       #include <orbit/orbit.h>
+       (spi_init_any_nil):
+       (spi_init_any_string):
+       (spi_init_any_object):
+       New convenience function declarations.
+
+       * libspi/util.c:
+       (spi_init_any_nil):
+       (spi_init_any_string):
+       (spi_init_any_object):
+       New convenience function implementations.
+
+       * registryd/deviceeventcontroller.c:
+       (spi_poll_dec_mouse_moved):
+       (spi_device_event_controller_forward_mous_event):
+       Initialize any_data member of event.
+       (spi_deregister_controller_device_listener):
+       Fix incorrect param pass which was preventing deregistration.
+
+       * registryd/registry.c:
+       (desktop_add_application):
+       (desktop_remove_application):
+       Add object data to event's any_data before dispatch.
+       (parse_event_type):
+       Fix for error messages from GAIL.
+       
+       * test/event-listener-test.c:
+       Test new ContextString and "any_data" API:
+       (report_text_event): New method query and output context string.
+       (main): register a new text listener with report_text_event
+       callback.
+
+2002-11-19  Darren Kenny  <darren.kenny@sun.com>
+
+       Fixes for bugs 98127 and 97914.
+       * cspi/spi-roletypes.h:
+       Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
+       SPI_ROLE_RULER
+       * cspi/spi-statetypes.h:
+       Added SPI_STATE_MANAGES_DESCENDANTS
+       * cspi/spi.h:
+       Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
+       SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
+       * cspi/spi_accessible.c:
+       Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
+       Added mapping from SPI_STATE_MANAGES_DESCENDANTS to 
+       Accessibility_STATE_MANAGES_DESCENDANTS
+       * libspi/accessible.c:
+       Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
+       Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} 
+       As requested by Bill, I also cleaned up the alignment.
+       * libspi/relation.c:
+       Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
+       EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
+       * libspi/stateset.c:
+       Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
+       Accessibility_STATE_MANAGES_DESCENDANTS
+       * docs/reference/cspi/tmpl/spi_accessible.sgml:
+       Document changes reflecting modifications to roles.
+       * docs/reference/cspi/tmpl/spi_relation.sgml:
+       Document changes reflecting modifications to relations.
+       * docs/reference/cspi/tmpl/spi_stateset.sgml:
+       Document changes reflecting modifications to states.
+
+2002-11-17  Bill Haneman <bill.haneman@sun.com>
+
+       * configure.in:
+       Revved to 1.1.3, interface-age=3, binary-age=3.
+       Added REBUILD macro.
+
+       * test/Makefile.am:
+       Removed accessx-gui from the tests, since we have a nice
+       keyboard accessibility capplet now :-)
+
+       * test/keysynth-demo.c:
+       (increment_scan): removed do-nothing default: case,
+       silences warning.
+
+       * test/visual-bell.c:
+       (main) : removed do-nothing default: case, 
+       silences warning.
+
+       * cspi/spi_action.c:
+       (AccessibleAction_getKeyBinding_): 
+       Documented keybinding string format.
+       FIX for bug 97916.
+
+       * cspi/spi_text.c:
+       (AccessibleText_getAttributes):
+       Documented the text attribute string format.
+       It's changed to use semicolon delimiters also,
+       to prevent clashes with CSS attributes, but the old
+       trick of looking for ", " strings will still work
+       (as unreliably as ever).  Fix for bug related to 97916.
+
+       * cspi/spi_event.c:
+       Include <cspi/bonobo/cspi-bonobo-listener.h>
+       Fixes build warning.
+       (SPI_freeAccessibleKeySet):
+       (AccessibleKeystrokeListener_addCallback):
+       (AccessibleKeystrokeListener_removeCallback):
+       Modify to use AccessibleDeviceListener API internally,
+       instead of AccessibleKeystrokeListener.
+       
+       * idl/Accessibility_Event.idl:
+       Added two more empty slots to EventListener (for a total of four).
+
+       * idl/Accessibility_Accessible.idl:
+       Added four empty slots to Accessible interface.
+
+2002-11-15  Bill Haneman <bill.haneman@sun.com>
+
+       * idl/Accessibility_Registry.idl:
+       (KeyEventType, EventType):
+       Marked KeyEventType as deprecated; it duplicates
+       functionality of EventType, which has been extended to
+       include Mouse-button events.
+       (KeyEventTypeSeq): defined in terms of EventType.
+       (registerDeviceEventListener, deregisterDeviceEventListener):
+       New methods, for managing listeners to device events,
+       which potentially may consume them.     
+       
+       * cspi/spi-impl.h:
+       Added definition for AccessibleDeviceListener.
+
+       * cspi/spi-listener.h:
+       (enum AccessibleDeviceEventType):
+       Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
+       Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
+       for backwards compat.
+       (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
+       and typedef'd AccessibleKeystroke to it for back-compat.
+       (AccessibleDeviceListenerCB):
+       New function prototype typedef.
+
+       * cspi/spi.h:
+       (AccessibleDeviceEventMask): New typedef.
+       (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
+       (AccessibleKeyMaskType): 
+       Set equivalent to AccessibleModifierMaskType for back-compat.   
+       (SPI_createAccessibleKeystrokeListener):
+       (AccessibleKeystrokeListener_unref):
+       Deprecated in favor of equivalent (better-named) new API below..
+       keystroke listeners are like all device listeners.
+       (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
+       New API names for old features :-).
+       (AccessibleDeviceListener_addCallback):
+       (AccessibleDeviceListener_removeCallback): 
+       (SPI_registerDeviceEventListener): 
+       (SPI_deregisterDeviceEventListener): 
+       New methods.
+       
+       * cspi/spi_event.c:
+       (SPI_createAccessibleKeystrokeListener):
+       Use new preferred API, cspi_device_listener_new() and
+       cspi_device_listener_add_cb().
+       (AccessibleKeystrokeListener_removeCallback):
+       Use new preferred API, cspi_device_listener_remove_cb().
+       (AccessibleKeystrokeListener_unref):
+       Use new preferred API, cspi_device_listener_unref().
+       (SPI_createAccessibleDeviceListener):
+       (AccessibleDeviceListener_addCallback):
+       (AccessibleDeviceListener_removeCallback):
+       Implementation of new API.
+
+       * cspi/spi_registry.c:
+       (SPI_registerDeviceEventListener):
+       (SPI_deregisterDeviceEventListener):
+       Implementation of new API.  Fixed memory leak and removed need to
+       allocate EventTypeSeq (thanks Michael for catching this).
+       Squashed a wayward CORBA_exception_free that shouldn't get called.
+
+       * cspi/bonobo/cspi-bonobo-listener.c:
+       (EventHandler):
+       Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
+       (cspi_key_event): renamed to cspi_device_event().
+       Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
+       Extended to handle mouse button events as well as key events.
+       (CSpiKeystrokeListener):
+       Class superceded by CSpiDeviceListener.
+       (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
+       These internal APIs changed to "*device_listener" from "*keystroke_listener".
+
+       * cspi/bonobo/cspi-bonobo-listener.h:
+       (CSpiKeystrokeListener):
+       Class superceded by CSpiDeviceListener.
+       (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
+       These internal APIs changed to "*device_listener" from "*keystroke_listener".
+
+       * libspi/Makefile.am:
+       Replaced keystrokelistener.h and keystrokelistener.c
+       with devicelistener.h and devicelistener.c; keystrokelisener.h
+       stub retained for back-compat.
+
+       * libspi/keystrokelistener.c:
+       Removed file.
+
+       * libspi/libspi.h:
+       Replaced inclusion of keystrokelistener.h with devicelistener.h.        
+
+       * registryd/deviceeventcontroller.c:
+       (DEControllerListener): Added Accessibility_EventTypeSeq member.
+       (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
+       (DEControllerPrivateData): Added xkb settings data.
+       (spi_dec_poll_mouse_moved): Changed to dispatch device events for
+       button release events (which can't be captured via XGrabButton).
+       Don't dispatch via the 'normal' event mechanism if the device event was
+       consumed.
+       (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
+       Handle the typeseq data in its new location (see above).
+       (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
+       New methods, for "generic" device listeners.
+       (spi_controller_register_device_listener):
+       Now handle mouse event listeners as well as key listeners.
+       (spi_controller_notify_mouselisteners):
+       New internal method.
+       (spi_device_event_controller_forward_mouse_event):
+       Now we notify mouse device listeners as well as generating the
+       non-consumable "mouse:" events.  
+       (global_filter_fn):
+       We must check and restore the XKB
+       modifier map if we consume the event, since the act of triggering
+       a mouse event will normally reset the XKB latch.  This is required for 
+       instance by GOK.
+       (spi_controller_register_with_devices):
+       Load the XKB settings when registering, and register for XKB 
+       state notify events. 
+       (spi_key_eventtype_seq_contains_event):
+       Renamed spi_eventtype_seq_contains_event, since it's used
+       internally for all device event types now.
+       (spi_key_event_matches_listener):
+       Uses spi_eventtype_seq_contains_event now.
+       (spi_device_event_controller_object_finalize):
+       Free the private data and the XkbKeyboard struct.
+       (impl_register_device_listener, impl_deregister_device_listener):
+       Implementation of new IDL.
+       (spi_deregister_controller_device_listener):
+       New internal method.
+       (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
+       More efficient implementation, we don't have to create a new
+       XkbControls structure every time we query.
+       (spi_device_event_controller_class_init):
+       Initialize the epv entries for the new IDL.  Assign the 
+       "spi-dec-private" quark.
+       (spi_device_event_controller_init):
+       Initialize the private data.
+       (spi_device_event_controller_forward_key_event):
+       Removed a bogus CORBA_exception_free() call.
+       
+       * registryd/deviceeventcontroller.h:
+       Replaced inclusion of keystrokelistener.h with
+       devicelistener.h.
+
+       * test/event-listener-test.c:
+       (report_mouse_event):
+       New method.
+       (main):
+       Added mouse-event device listener.
+
+       * test/test-simple.c:
+       (create_test_window):
+       Fixed regression (we were instantiating a GtkRange,
+       which is now an abstract class).  Also fixed to match
+       existing AtkRole names, this seems to have changed in ATK
+       awhile ago; too late now I think, and the new
+       mechanism is at least elegant and consistent with the
+       glib enum "nick" APIs.  
+
+2002-11-15  Darren Kenny  <darren.kenny@sun.com>
+
+       * idl/Accessibility_Relation.idl:
+       add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
+       RELATION_EMBEDS,RELATION_EMBEDDED_BY
+       * idl/Accessibility_Role.idl:
+       add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
+       * idl/Accessibility_State.idl:
+       add STATE_MANAGES_DESCENDANTS
+       * test/event-listener-test.c:
+       Added a listener for active-descendant events.
+
+2002-11-15  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * atk-bridge/bridge.c
+       (atk_bridge_init): If application is Bonobo component wait until top
+       level is added before registering
+       (spi_atk_bridge_do_registration): New function which contains code, 
+       formerly in atk_bridge_init, to do application registration.
+       (spi_atk_bridge_toplevel_added): Signal called when top level
+       added to Bonobo component
+
+       This fixes bug #83134.
+
+2002-10-23  Vitaly Tishkov  <tvv@sparc.spb.su>
+
+       * registryd/deviceeventcontroller.c
+        Fixed compilation error caused by calling gettimeofday() 
+        with 1 parameter
+
+2002-10-18  Bill Haneman  <bill.haneman@sun.com>
+
+       BUGFIX for #95828.
+
+       * acconfig.h:
+       Added template for HAVE_XKB.
+       
+       * configure.in:
+       Changes to check for XKB, and to set the HAVE_XKB #define if it 
+       is available.
+       
+       * libspi/listener.c:
+       ()impl_notify_event): Make failure to get event source name
+       nonfatal.
+
+       * registryd/deviceeventcontroller.c:
+       (#include): include X11/XKBlib.h.
+       (DEControllerPrivateData) : New struct.
+       (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) : 
+       New methods.
+       (dec_synth_keycode_press) (dec_synth_keycode_release):
+       New methods; split the key synthesis code into these methods.
+       They check XKB settings before determining the "time" values to
+       pass to Xtest; this fixes bug #95828.
+       (impl_generate_keyboard_event): Changed to use methods above,
+       instead of callng Xtest directly.
+       (spi_device_event_controller_init): Initialize new privae struct s
+       above.
+       (spi_device_event_controllr_object_finalize):
+       Free the (new) private data.
+
+       * registryd/deviceeventcontroller.h:
+       Add new gpointer to end of struct data.
+
+2002-10-16  Bill Haneman  <bill.haneman@sun.com>
+
+       * configure.in:
+       Incremented revision to 1.1.2, SONAME is still '.so', library
+       extensions are ".so.0.0.2".
+
+       * registryd/deviceeventcontroller.c:
+       FIXES FOR #93592 and #95940.
+       (statics):  renamed mouse_button_state to mouse_mask_state, 
+       added key_modifier_mask.
+       (spi_dec_poll_mouse_moved): 
+       Added key modifier checks, and emit "keyboard:modifiers"
+       events when the key modifiers currently in use change.
+       Also generate "mouse:abs" events periodically, even if the mouse
+       is stationary (should we?).
+       Alternatively we could generate "mouse:abs" events for either all
+       mouse movements, or every 'nth' mouse movement, or at the
+       beginning and end of every "active" mouse period.
+       
+       * test/event-listener-test.c:
+       (main): Added listener for "keyboard:modifiers" events.
+       
+2002-10-15  Bill Haneman  <bill.haneman@sun.com>
+
+       * libspi/keymasks.h:
+       Added key mask #defines for mouse buttons; e.g.
+       SPI_KEYMASK_BUTTON1, etc.
+
+       * configure.in:
+       Incremented dependency on ATK to version 1.1.0. (This dependency
+       is probably premature but will soon be real enough).
+
+2002-10-11  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * libspi/hyperlink.[ch]
+       (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
+       (get_hyperlink_from_servant): Check object is AtkHyperlink not 
+       AtkObject.
+
+       * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
+       AtkObject.
+
+       Fixes bug #95517.
+
+2002-10-10  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * registryd/deviceeventcontroller.c
+       (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
+       events to be ignored.
+       (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
+       keyboard_mode so that XAllowEvents() can be called.
+
+       Fixes bug #93658.
+
+2002-10-08  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * cspi/spi-accessible.c: Correct names of roles returned by
+       AccessibleRole_getName(). Fixes bug #95055.
+
+2002-10-03  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * cspi/spi_main.c (report_leaked_ref): Report address of leaked
+       object.
+
+       * registryd/registry.c
+       (desktop_remove_application: Write diagnostic message to stderr for
+       consistency.
+
+       (impl_accessibility_registry_deregister_global_event_listener):
+       Correct size of lists array. This addresses bug #94555).
+
+2002-09-24  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
+       in some role names.
+
+2002-09-19  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * registryd/Makefile: Add CLEANFILES so that .server file is removed
+       on make clean
+
+       * registryd/registry.c (impl_registry_notify_event): Remove
+       unnecessary call to parser_event_type().
+
+       * docs/reference/cspi/tmpl/spi_component.sgml:
+       Add reference to SPI_LAYER_WINDOW.
+
+2002-09-17  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * registryd/registry.c
+       (desktop_add_application): Remove leak.
+       (desktop_remove_application): Remove leak.
+       (parser_event_type): Remove leak.
+
+2002-09-16  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
+       bogus call to CORBA_string_dup(). Also removed unnecessary
+       g_string_dup/g_free calls.
+       
+2002-09-13  Bill Haneman <bill.haneman@sun.com>
+
+       * registryd/deviceeventcontroller.c:
+       spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
+
+       * test/event-listener-test.c:
+       main: commented out three redundant listeners, to reduce output
+       noise. (They still are potentially useful for testing).
+       
+
+2002-09-13  Michael Meeks  <michael@ximian.com>
+
+       * Update all the copyrights to include Ximian.
+
+2002-09-06  Mark McLoughlin  <mark@skynet.ie>
+
+       * cspi/spi.h: add SPI_LAYER_WINDOW.
+
+       * cspi/spi_component.c: (AccessibleComponent_getLayer):
+       add Accessibility_LAYER_WINDOW case.
+
+       * idl/Accessibility_Component.idl: add LAYER_WINDOW.
+
+       * libspi/component.c: (impl_accessibility_component_get_layer):
+       add ATK_LAYER_WINDOW case.
+
+2002-08-28  Bill Haneman <bill.haneman@sun.com>
+
+       * configure.in: incremented micro version.
+
+       * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
+
+2002-08-20  Bill Haneman <bill.haneman@sun.com>
+
+       * HACKING: 
+       Clarified and reworded our commit policy.
+
+       * NEWS:
+       Started an API "todo" addition list for 2.2.
+
+       * libspi/text.c:
+       (impl_getSelection):
+       Free char pointer from atk_text_get_selection, which was being leaked.
+
+2002-08-19  Bill Haneman <bill.haneman@sun.com>
+
+       * AUTHORS: 
+       Small revision to author acknowledgement.
+
+2002-08-19  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
+       If signal has detail add it to the type of the event.
+       (bug #90838)
+       
+2002-08-12  Michael Meeks  <michael@ximian.com>
+
+       * test/test-simple.c (global_listener_cb): bin bogosity.
+       (test_keylisteners): disable, still doesn't work reliably,
+       certainly not on my system anyway.
+
+       * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
+       don't leak a reference on the DEC. This round-trip
+       fetching of the DEC per keystroke sucks, it should be
+       cached.
+
+       * cspi/spi-private.h,
+       * cspi/cspi-lowlevel.h,
+       * cspi/bonobo/cspi-bonobo-listener.[ch],
+       * cspi/bonobo/cspi-bonobo.c: get the copyright
+       notices better - there is still a large amount of
+       work in at-spi falsely attributed solely to Sun.
+
+       * cspi/spi_main.c (cspi_object_ref): kill bogus
+       hash lookup, just increment the ref.
+       (SPI_freeString): make explicit the fact that we
+       handle NULL strings just fine.
+       (report_leaked_ref): obey coding standards.
+       (cspi_object_hash, cspi_object_equal): kill retval.
+       (cspi_object_release): only release if not on loan.
+       (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
+       (cspi_object_borrow, cspi_object_return): impl.
+
+       * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
+       use cspi_object_borrow / return.
+
+2002-08-12  Darren Kenny  <darren.kenny@sun.com>
+
+       * cspi/bonobo/cspi-bonobo-listener.c: 
+       (cspi_event):
+       Don't call cspi_oject_new() because this is creating a new Accessible
+       every single time that an event is fired. This causes ATs like at-poke
+       to nolonger recognise the source of the event and thus ignore it.
+       Re-use the object from the cache, ref it and then unref it after the
+       listeners have been called.
+
+2002-08-06  Darren Kenny  <darren.kenny@sun.com>
+
+       * test/event-listener-test.c: 
+       Added command-line options to disable mouse events (m) and
+       show usage (h). 
+
+2002-07-31  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * configure.in: Update required versions of ATK, GTK+ and GAIL
+
+       * cspi-1.0.pc.in: Add dependency for X include files
+
+       * cspi/Makefile.am:
+       * cspi/bonobo/Makefile.am: 
+       Add $(X_CFLAGS) so that X include files 
+       are picked up even if not in standard place (bug #71686)
+
+2002-06-25  Bill Haneman  <bill.haneman@sun.com>
+
+       * registryd/deviceeventcontroller.c: fix for 84261
+       (spi_dec_mouse_moved):
+       Added test of mouse button mask, so that we can detect mouse
+       button release.  Unfortunately we can't otherwise detect mouse
+       button release events without consuming the mouse press event,
+       because of the way XGrabButton works.  This means that our mouse
+       release events have a latency dependent on the polling period
+       while the mouse button is down.  At least in this case we only
+       have to poll while the button is down, and not at other times.
+       If the button masks don't match with what the last press event
+       reported, we report the appropriate button release event.
+       (spi_dec_ungrab_mouse):
+       New method (not yet called).
+       (spi_device_event_controller_forward_mouse_event):
+       New method, sends mouse press event from GdkFilter.
+       (spi_dec_init_mouse_listener):
+       Added code to call XGrabButton, redirecting mouse button events to
+       the root window and our Gdk event loop.
+       (global_filter_fn):
+       Added code to filter mouse button events, and reordered.
+       
+       * test/event-listener-test.c:
+       (main):
+       Added registration for mouse events of type "mouse:button".
+
+2002-06-25  Bill Haneman  <bill.haneman@sun.com>
+
+       * registryd/deviceeventcontroller.c: partial fix for 84261
+       (spi_dec_poll_mouse_idle):
+       New method, a timeout which checks to see if the mouse
+       has moved.
+       (spi_dec_poll_mouse_moving):
+       A timeout to be called when mouse motion is underway.
+       (spi_dec_poll_mouse_moved):
+       A method which fires an event if the mouse has moved, and reports
+       whether or not it did so. 
+       (spi_dec_init_mouse_listener):
+       A method which sets up the timeouts above.
+       (spi_device_event_controller_new):
+       Now calls spi_dec_init_mouse_listener.
+
+       * registryd/registry.c:
+       (spi_registry_init):
+       Now we initialize the device event controller when the registry is
+       initialized, instead of waiting until a client has requested a key
+       event notification; this is because we need the event controller
+       for mouse events, but the mouse event registration API is a
+       "registry" call and doesn't explicitly call the 
+       deviceeventcontroller.
+       We now report mouse motion events with a 100 ms idle latency and
+       a 20 ms granularity when motion is in progress.
+
+       * test/event-listener-test.c:
+       (main):
+       We now register the "detail listener" for events of type 
+       "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
+       delivered only for the first mouse event received, and thereafter
+       "mouse:abs" events are delivered.)
+
+       * cspi/spi_registry.c:
+       DOCS: Documented the above mouse event typestrings.
+       
+2002-06-21  Bill Haneman  <bill.haneman@sun.com>
+
+       Happy Summer Solstice...
+
+       * registryd/deviceeventcontroller.c: [fix for bug 84100]
+       (spi_controller_notify_keylisteners):
+       Changes to remove a listener from the listener list, freeing its
+       open keygrabs, if a notification to that listener fails.  This
+       means that although a dead listener can continue to hold a passive
+       keygrab, a maximum of one dispatch to such a listener can fail
+       before the listener is removed from the list, thus the keygrab
+       will be released on the next occurrence.
+       As part of this fix:
+       (spi_notify_keylisteners):
+       Renamed to spi_controller_notify_keylisteners, as the controller
+       instance must now be passed as an argument.
+       The copied 'notify' GList is now a list of DEControllerKeyListener
+       objects, since we need more than just the CORBA reference if a
+       notify fails and we need to deregister the listener.
+       (impl_notify_listeners_sync):
+       (impl_notify_listeners_async):
+       (spi_device_event_controller_forward_key_event):
+       Modify use of notify_keylisteners in accordance with above
+       changes.
+       (spi_deregister_controller_key_listener):
+       New method introduced by refactoring, from 
+       impl_deregister_keystroke_listener.
+       (impl_deregister_keystroke_listener):
+       Call spi_deregister_controller_key_listener.
+       (spi_key_listener_clone):
+       New method to copy a key listner without doing a 'ref' on the
+       remote object instance; used to create a notifier list.
+       (spi_key_listener_data_free):
+       New method, frees data without unreffing the source.
+       Used in refactor.
+       (spi_key_listener_clone_free): new method.
+       (spi_key_listener_free): 
+       refactored to call spi_key_listener_data_free.
+       
+2002-06-20  Bill Haneman  <bill.haneman@sun.com>
+
+       * registryd/registry.c: [fix for bug 86048]
+       (notify_listeners_cb):
+       Clear CORBA system exceptions which occur when notifying
+       listeners, before returning to the source of the original event,
+       since the event source doesn't care if the relayed notify failed.
+       In other words, don't complain to the atk-bridge if the registry
+       could not notify all its listeners, that's no fault of the
+       application and thus should not appear to be an error from the
+       application's perspective.
+       
+       * cspi/spi_main.c: [fix for bug 85980]
+       (cspi_object_ref):
+       Replaced use of bonobo_object_dup_ref with call to the wrapper
+       method, csou_dup_ref (); this silences a compiler warning and
+       provided more portability.
+       (cspi_registry):
+       Ping the registry before return, and restart if necessary.
+
+       * cspi/bonobo/cspi-bonobo.c:
+       (cspi_ping):
+       New internal method.
+       (cspi_dup_ref):
+       Fixed this method to return an object reference, as it should have
+       all along.
+
+       * cspi/cspi-lowlevel.h:
+       Added internal definition for cspi_ping() and fixed 
+       return type of cspi_dup_ref().
+       
+
+2002-06-19  Bill Haneman  <bill.haneman@sun.com>
+
+       * atk-bridge/bridge.c:  [fix for bug 85305]
+       (spi_atk_bridge_register_application):
+       New method where the initial application registry calls have been
+       moved; it allows an application to re-register in response to
+       certain error conditions (such as a registry restart, see below).
+       (atk_bridge_init):
+       Moved some initialization code to the method
+       spi_atk_bridge_get_registry, below.
+       (spi_atk_bridge_get_registry):
+       New, private accessor function for the Accessibility_Registry
+       instance.  If the registry has not been started before, or has
+       died (as detected by failure of a CORBA exception), it is
+       restarted before return, and spi_atk_bridge_register_application
+       is called again to register with the new bridge instance.
+       (spi_atk_emit_eventv):
+       Set registry_died on error; use spi_atk_bridge_get_registry () to
+       access the registry.
+       
+       * registryd/registry.c:
+       (impl_accessibility_registry_register_global_event_listener):
+       Set listener's event_type_quark to etype.minor instead of
+       etype.major (fix for bug 84856).
+
+       * test/event-listener-test.c:
+       (report_detail_event):
+       Change the output string so that user/tester can tell that the
+       'detail listener' was called instead of the 'generic listener'.
+       
+2002-06-18  Bill Haneman  <bill.haneman@sun.com>
+
+       Fixes for bugs 84900, 84908, 84897, 84898.
+
+       * NEWS: updated.
+       
+       * configure.in:
+       Revved version to 1.1.0 
+       (reserving the 1.0.X branch for gnome-2-0-0 branch, this
+       version is going to HEAD which will be used for gnome-2-0-1 and later.)
+       
+       * idl/Accessibility_Registry.idl:
+       (EventListener::notifyEvent):
+       Removed 'oneway' directive after extensive consulation with
+       ORBit2 team and others.  This means also that unref() of the event
+       source can and should be done synchronously after emission, rather
+       than remotely in the client, after servicing the notify call on
+       the listener side.
+
+       NOTE: This change speeds up listener performance considerably, but
+       introduces new latency on the application side.  We may want to
+       add an event queue to the atk-bridge.
+
+       * atk-bridge/bridge.c:
+       (spi_atk_bridge_focus_tracker):
+       Do a local unref() on the event source after emission.
+       
+       * registryd/registry.c:
+       (desktop_remove_application):
+       Do an unref() on the event source after emission.
+       (desktop_add_application):
+       Do an unref() on the event source after emission.
+       (notify_listeners_cb):
+       When relaying an event, don't automatically add the event source
+       to the local object cache, just CORBA_dup it instead.  Likewise,
+       if this method reenters, release the ref rather than calling
+       unref() as well.
+       (impl_registry_notify_event):
+       No longer call remote unref() on the event source after dispatch.
+
+       * libspi/eventlistener.c:
+       (impl_accessible_event_notify_event):
+       Removed remote unref ()
+       
+       * cspi/bonobo/cspi-bonobo-listener.c:
+       (cspi_event):
+       We now call cspi_object_new() instead of cspi_object_add() on
+       receipt of an event; thus we only have an implicit object ref
+       while the cspi_event method is being executed.  If we need to keep
+       a reference to the object, the listener must call ref() on the
+       object.  Thus also we don't need to call cspi_object_unref() after
+       invoking the listener callbacks in this method.
+       
+       * cspi/spi_main.c:
+       (cspi_object_new):
+       New internal API for creating a new cspi object, without adding it
+       to the object cache.
+       (cspi_object_add):
+       Now uses cspi_object_new() to create the cspi object instance.
+       (cspi_object_ref):
+       Now checks to see if the object is in the internal object cache,
+       and adds it if necessary before incrementing its refcount (note
+       that new objects are added with a refcount of 1).
+       (report_leaked_ref):
+       New method which gives some information on leaked object instances
+       if leak detection is turned on.
+
+       * test/event-listener-test.c:
+       (timing_test_event):
+       New method, used for testing event delivery timing for special
+       events of type "object:test".  It reports elapsed time and
+       events/sec every 500 events.
+       (main):
+       Added a new listener, 'test listener', to check timing of event
+       receipt as noted above.
+       (report_event):
+       Added some timing output here also, reports elapsed time every 100
+       events.
+
+       * test/stress-test.c:
+       Emit events of type "object:test", for use with "event-listener-test".
+
+       * test/test-simple.c:
+       (global_listener_cb):
+       Call Accessible_ref() on the event source before calling
+       validate_accessible, since the validation process does pointer
+       comparisons on the event source, meaning that the event source
+       needs to be added to the local object cache first.  Any use of
+       such pointer comparisons between Accessible objects requires that
+       the caller hold an explicit reference to those objects.
+       We also must therefore call Accessible_unref() when leaving this method.
+
+2002-06-13  Bill Haneman  <bill.haneman@sun.com>
+
+       * registryd/deviceeventcontroller.c:
+       (spi_controller_update_key_grabs):
+       Fix for #84735, subsequent keygrab listeners not informed of
+       registration failure.
+
+       * libspi/base.c:
+       (spi_base_construct):
+       Add an assertion on construct, to make sure the GObject passed in
+       is really a GObject.
+       (spi_base_init):
+       Explicitly initialize object->gobj pointer to NULL;
+
+       * cspi/bonobo/cspi-bonobo-listener.c:
+       (cspi_object_add_ref):
+       New method, can specify whether to dup-ref a bonobo object passed
+       in if it's newly added to the object cache.
+       (cspi_object_add):
+       Now calls cspi_object_add_ref with second param of "FALSE".  This
+       prevents us from doing a pointless dup-ref followed by
+       release-unref for all those cases where the object is already in
+       our object cache (fix for #85205).
+
+       * atk-bridge/bridge.c:
+       (spi_atk_bridge_idle_init):
+       Removed this method, we don't need to initialize in an idle
+       handler anymore;
+       (atk_bridge_init):
+       Changed to call spi_atk_register_event_listeners directly, not via an
+       idle handler. (fix for #81139)
+       (gnome_accessibility_module_shutdown):
+       Removed conditional around deregistration of listeners, since we
+       don't use the idle handler and thus have always registered when
+       shutdown is called.
+       (spi_init_keystroke_from_atk_key_event):
+       Changed references to Accessibility_KEY_PRESSED to 
+       Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
+       
+2002-06-12  Bill Haneman  <bill.haneman@sun.com>
+
+       (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
+       
+       * configure.in:
+       Revved to 1.0.1
+
+       * test/stress-test.c:
+       Added file.
+
+       (may have been an incomplete commit yesterday?)
+
+2002-06-12  Bill Haneman  <bill.haneman@sun.com>
+
+       * test/Makefile.am:
+       Added target for new stress-test.
+       
+       * test/stress-test.c:
+       New test, sends 1000 focus notifies in quick succession.
+
+       * test/key-listener-test.c:
+       Now we report whether a keylistener registration
+       request succeeded or failed.
+
+       * test/event-listener-test.c:
+       Uncommented some listeners which are now implemented.
+
+
+2002-06-06  Bill Haneman  <bill.haneman@sun.com>
+
+       * registryd/deviceeventcontroller.c:
+        (spi_controller_update_key_grabs):
+       Fix for #82509, lack of failure notification when
+        ALL_WINDOWS keygrabs fail due to XGrabKey
+        failure: we synchronize the server when 
+        registering a passive grab, to make sure we get the
+        error message before the call returns.
+
+2002-06-03  Bill Haneman  <bill.haneman@sun.com>
+
+       * test/test-simple.c:
+       (key_listener_cb):
+       Removed #ifdef KEY_IMPL_WORKS guards.
+       (test_keylisteners):
+       Removed #ifdef KEY_IMPL_WORKS guards.
+       Fixed bug which was causing a hang waiting for a 
+       "press" event (which was already overwritten by a "release" 
+       event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
+       (key_listener_cb):
+       Added code to set globals 'key_press_received' and
+       'key_release_received'.
+
+       * TODO:
+       Added section "1.1 API Proposed Additions" which
+       lists API additions desired for at-spi-1.1 (only one so far).
+       Updated TODO list a little.
+       
+2002-06-02  Bill Haneman  <bill.haneman@sun.com>
+
+       AT-SPI 1.0 API FINAL: at-spi 1.0 is now
+       API frozen.
+       
+       * configure.in: Revved to 1.0.0.
+
+       * idl/Accessibility_Registry.idl:
+       (registerKeystrokeListener):
+       Added boolean return value.
+       
+       * registryd/registry.c:
+       (notify_listeners_cb): Minor fix to debug output.
+
+       * registryd/Accessibility_Registry.server.in.in:
+       Revved version number in OAFIID to 1.0.
+
+       * registryd/registryd.c:
+       (main):
+       Use new OAFIID version.
+
+       * cspi/bonobo/cspi-bonobo.c:
+       (cspi_init):
+       Use new OAFIID version.
+
+       * test/at.c:
+       (main):
+       * test/app.c:
+       (main):
+       * atk-bridge/bridge.c:
+       (atk_bridge_init):
+       Use new OAFIID version.
+
+       * registryd/deviceeventcontroller.c:
+       (impl_register_keystroke_listener):
+       Added CORBA_boolean return value.
+       (spi_controller_register_device_listener):
+       Added gboolean return value.
+       (spi_controller_register_global_keygrabs):
+       Added gboolean return value.
+       (spi_key_set_contains_key):
+       Added implementation for many more control keys,
+       for instance F1-F12, arrow keys, End, Home, Page_Up,
+       Page_Down, Escape.
+       [TODO: some still not implemented]. 
+       
+       * text/screen-review-test.c:
+       (text_chunk_pad_string):
+       New function: it provides mapping between coordinate
+       positions of text chunks and character positions in the
+       screen-review-line output string.
+       (text_chunk_to_string):
+       New function, calls text_chunk_pad_string with various
+       pad/delimiter characters. Pushbuttons are delimited with
+       square brackets, Frames with vertical 'pipe' lines, and 
+       other text with double quotes.
+       (text_chunk_list_to_string):
+       Calls new function text_chunk_to_string.
+       (toplevel_composite):
+       New function to composite layers CANVAS through
+       POPUP in each toplevel (other layers are composited
+       across toplevels, i.e. BACKGROUND and OVERLAY).
+       (review_buffer_composite):
+       Revise to use new methods.
+       
+       
+       
+       
+
+2002-05-31  Laszlo Peter  <laca@sun.com>
+
+       * configure.in: add the Xtst libdir to the runpath on Solaris,
+       since it's not in the default library search path.
+
+2002-05-29  jacob berkman  <jacob@ximian.com>
+
+       * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
+
+2002-05-29  Bill Haneman  <bill.haneman@sun.com>
+
+       * test/screen-review-test.c:
+       (text_chunk_pad_string):
+       Added method, which pads the string according to the 
+       text bounds of the chunk.  It also takes a 3-character
+       string as a param which indicates the characters to be 
+       used for start, padding, and end delimitation of the chunk.
+       (text_chunk_to_string):
+       Changed to use text_chunk_pad_string.
+       
+       * configure.in: Fixed bug in AC_OUTPUT that was
+        causing path substitution in Accessibility_Registry.server
+       to fail.
+
+2002-05-23  Bill Haneman  <bill.haneman@sun.com>
+
+       * text/screen-review-test.c:
+       (guess_string_clip):
+       New method which attempts a best-guess at clipping
+       text from components (like Java labels) which don't
+       actually implement AccessibleText.  This inaccurate
+       clip is based on the assumption that the label is
+       justified left-and-right, and monospaced.
+       (text_chunk_get_clipped_string):
+       We now call guess_string_clip() for text-containing
+       components that don't implement AccessibleText.
+
+       * test/screen-review-test.c:
+       (review_buffer_get_text_chunk):
+       We now pull "name" from labels if they do not implement
+       AccessibleText (i.e. for Java labels).
+       (get_screen_review_line_at):
+       Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
+
+       * configure.in:
+       Replaceded AC_OUTPUT target
+       registryd/Accessibility_Registry.server with 
+       registryd/Accessibility_Registry.server.in.
+
+       * registryd/Accessibility_Registry.server.in:
+       Removed (this is now a Makefile target).
+
+       * registryd/Accessibility_Registry.server.in.in:
+       Added (source for target above).  We now use $(libexecdir) as
+       prefix for the executable at-spi-registryd.
+
+       * registry/Makefile.am: 
+       Now install at-spi-registryd into $(libexecdir), and build .server
+       file with path (see above).
+       
+2002-05-22  Bill Haneman  <bill.haneman@sun.com>
+
+       * test/screen-review-test.c:
+       (text_chunk_get_clipped_string):        
+       We now check to see if words fall within clip bounds 
+       before resorting to character-by-character clip bounds testing.
+
+       * TODO: Added a section for "2.2 Proposed API Additions".
+
+2002-05-21  Bill Haneman  <bill.haneman@sun.com>
+
+       * test/screen-review-test.c:
+       * test/Makefile.am:
+       Added a screen review benchmarking and test program to test
+       directory.
+
+       * cspi/spi_accessible.c:
+       * cspi/spi_main.c:
+       Made some of the debug strings passed to cspi_check_ev a
+       little more specific.
+
+2002-05-21  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * test/screen-review-test.c: Fix crashes in debug statements
+
+2002-05-20  Bill Haneman  <bill.haneman@sun.com>
+
+       * test/screen-review-test.c: Added this file.
+
+2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
+
+       * atk-bridge/bridge.c: changed "object:state-change" to
+       "object:state-changed" to match docs.
+
+2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
+
+       * atk-bridge/bridge.c: Hooked up state-change event details.
+
+2002-05-11  Bill Haneman <bill.haneman@sun.com>
+
+       * registryd/registry.c:
+       Fixed quarking bug in event string parsing; now events with
+       detail parameters get matched correctly to listeners.
+       [Bugzilla 80608].
+
+       * util/idl/Magnifier.idl: remove.
+       * util/idl: remove
+       * util/*.[ch]: Remove.
+       Magnification utilities and IDL are now in module gnome-mag.
+
+2002-05-10  Bill Haneman <bill.haneman@sun.com>
+
+       * registryd/deviceeventcontroller.c:
+       Fixed bug in grab key conversion which was causing keycode grabs
+       to be converted to AnyKey grabs.
+
+       * NEWS:
+       updated NEWS file to reflect recent spin-off of gnome-mag.
+
+2002-05-09  Marc Mulcahy <marc.mulcahy@sun.com>
+
+       * cspi/spi_accessible.c: Added exception checks.  Fixed completely
+       busted AccessibleStateSet_compare.  Removed redundant casts.
+       
+       * cspi/spi-action.c: Removed redundant casts.
+
+       * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
+
+       * cspi/spi_component.c: Fixed typos and casting error.
+
+       * cspi/spi_editabletext.c: Removed redundant casts.
+
+       * cspi/spi_hyperlink.c: Fixed casting and exception checking.
+
+       * cspi/spi_hypertext.c: Eliminated redundant casts.
+
+       * cspi/spi_image.c: Eliminated redundant casts.
+
+       * cspi/spi_registry.c: Eliminated redundant casts.
+       SPI_deregisterGlobalEventListenerAll () removed retval variable.
+       * cspi/spi_selection.c: Removed redundant casts.
+       * cspi/spi_text.c: Eliminated redundant casts.  Fixed exception
+       handling.  Screen geometry and text offsets were being returned as 0
+       on error which is technically valid-- changed these to return -1.
+       Added marshaller for text boundary types to fix bug with boundary
+       types being passed incorrectly to atk.
+                       
+2002-05-09  Bill Haneman <bill.haneman@sun.com>
+
+       
+       * cspi/spi_registry.c:
+       Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
+       which was uncovered by the recent key changes.
+
+2002-05-09  Bill Haneman <bill.haneman@sun.com>
+
+       * test/event-listener-test.c:
+       * test/Makefile.am:
+       Added new test, "event-listener-test"; 
+       this code does two things; it benchmarks traversal time 
+       for the accessible hierarchy for the first running accessible 
+       app, and it connects listeners for all supported event types.  
+       It is thus useful as an example event listener and for 
+       diagnostics/debugging of event generation.
+       
+2002-05-08  Bill Haneman <bill.haneman@sun.com>
+
+       * test/Makefile.am:
+       Removed unnecessary dependency on libutil.
+
+       * configure.in:
+       Revved micro version: 0.13.1
+
+2002-05-08  Bill Haneman <bill.haneman@sun.com>
+
+       * configure.in: 
+       Removed util/Makefile from targets.
+
+       * Makefile.am:
+       Removed util subdir from SUBDIRS (temporarily, 
+       pending removal of magnifier-only code
+       from UTIL).
+
+       * test/simple-at.c:
+       #ifdef-ed out magnifier dependencies, since
+       magnifier IDL, headers, and binary now live in
+       module gnome-mag and we don't want at-spi to depend 
+       on gnome-mag.  A magnifier demo which can run alongside
+       simple-at is forthcoming in the gnome-mag module.
+       
+       NOTE: Split magnifier binary, IDL, and magnification
+       activation code from at-spi into module gnome-mag.
+
+2002-05-03  Marc Mulcahy <marc.mulcahy@sun.com>
+       * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
+       cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
+2002-05-03  Bill Haneman <bill.haneman@sun.com>
+
+       * configure.in:
+       Revved to version 0.13.0
+       
+       * idl/Accessibility_Registry.idl:
+       Changed definition of KeySet from sequence of longs to sequence of
+       KeyDefinitions, and added KeyDefinition struct.
+       Required for fix to bug 80616.
+
+       * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
+       Changed AccessibleKeySet to Accessibility_KeySet marshalling code
+       to use new definition (see above).  
+
+       * registryd/deviceeventcontroller.c: handle_keygrab(), 
+       spi_keyset_contains_key():
+       Changed to make use of new struct; this allows matching based on
+       string key-name, for instance "Tab".  This also allows matching of
+       composed characters, non-alphanumeric characters in a way that
+       doesn't involve dependencies on X keysym codes directly, etc.
+       
+       * test/key-listener-test.c:
+       Added test for Alt-Tab key using "string" specification of keyset,
+       and modified one of the tests to use a keycode-based keyset.
+       Thus this test both tests and demonstrates the creation and use of
+       keysets of three forms:  specified via keycode array, 
+       keysym array, and string array. (The string case only contains a
+       single string, i.e. a string array of length 1).        
+
+       * test/simple-at.c:
+       Turned on PRINT_TREE option by default.  Also fixed a
+       string-freeing bug in the PRINT_TREE code.  
+       Added a listener to window:minimize events.
+       
+2002-05-08  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * atk-bridge/bridge.c:
+       (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
+       for window:activate and window:deactiveate
+       (atk_bridge_property_event_listener atk_bridge_signal_listener
+       atk_bridge_window_event_listener) Tidy debug code
+
+2002-05-02  Marc Mulcahy <marc.mulcahy@sun.com>
+
+       * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
+       Fixed handling for NULL return value from ATK.
+
+       * libspi/action.c libspi/component.c libspi/editabletext.
+       libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
+       libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
+       Removed redundant casts.
+       
+       * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
+       Fixed off by one bug.
+       
+       *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
+       function not present in idl)
+       
+2002-05-02  jacob berkman  <jacob@ximian.com>
+
+       * atk-bridge/Makefile.am: make atk-bridge a real module
+
+2002-04-26  Radek Doulik  <rodo@ximian.com>
+
+       * libspi/stateset.c (spi_init_state_type_tables): fix size of
+       atk_state_types table
+
+2002-04-22  jacob berkman  <jacob@ximian.com>
+
+       * util/Makefile.am: 
+       * libspi/Makefile.am: add deps on the built files to help
+       automake, and don't version the ORBit typelib
+
+2002-04-19  Padraig O'Briain  <padraig.obriain@sun.com>
+
+       * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h 
+       cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
+       cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c 
+       cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
+       cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
+       cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
+       cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
+       libspi/accessible.h libspi/accessible.h libspi/base.h 
+       libspi/component.h libspi/editabletext.h libspi/hyperlink.h 
+       libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
+       libspi/relation.h libspi/remoteobject.h libspi/selection.h 
+       libspi/spi-private.h libspi/statetset.h libspi/table.h
+       libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
+       util/mag_client.h util/mag_control.c util/mag_image.c
+       util/mag_image.h util/magnifier.c util/magnifier.h: 
+       Add missing file headers; standardize existing ones
+
+2002-04-18  Marc Mulcahy  <marc.mulcahy@sun.com>
+
+        * atk-bridge/bridge.c: Added window event support.
+
+2002-04-18  Michael Meeks  <michael@ximian.com>
+
+       * libspi/relation.c (impl_getNTargets): impl.
+       (impl_getTarget): impl.
+
+       * libspi/Makefile.am: fix stateset install.
+
 2002-04-17  Bill Haneman <bill.haneman@sun.com>
 
+       * NEWS:
+       Started putting useful info in this file.
+       
+2002-04-17  Marc Mulcahy <marc.mulcahy@sun.com>
+       * atk-bridge/bridge.c: 
+       Propagate state-changed notifications to ATs
+       * cspi/spi_registry.c: update docs to reflect actual behavior of
+       state-change events.
+
+2002-04-17  Bill Haneman <bill.haneman@sun.com>
+
+       * configure.in:
+       Incremented version to 0.12.1
+       
        * util/mag_client.h:
        Add missing declaration for magnifier_exit, 
        used by mag_control.c - Forte compiler didn't like
        the implicit redeclaration of the function :-(
 
+
 2002-04-16  Bill Haneman <bill.haneman@sun.com>
 
        * configure.in:
 
        * cspi/*.h: add G_BEGIN/END_DECLS
 
-2001-22-11  Bill Haneman  <bill.haneman@sun.com>
+2001-11-22  Bill Haneman  <bill.haneman@sun.com>
 
        * test/simple-at.c:
        Added non-preemptive keylistener for key events with no modifiers
        for non-preemptive key masks.
 
 
-2001-22-11  Bill Haneman  <bill.haneman@sun.com>
+2001-11-22  Bill Haneman  <bill.haneman@sun.com>
 
        * docs/reference/idl/at-spi-idl-docs.sgml:
        * docs/reference/idl/at-spi-idl-sections.txt:
        * docs/idl:
        Added .cvsignore files.
        
-2001-21-11  Bill Haneman  <bill.haneman@sun.com>
+2001-11-21  Bill Haneman  <bill.haneman@sun.com>
 
        * libspi/deviceeventcontroller.c:
        * libspi/keystrokelistener.c:
        event dispatching, so listeners should only receive those events
        that they requested :-)
 
-2001-21-11  Bill Haneman  <bill.haneman@sun.com>
+2001-11-21  Bill Haneman  <bill.haneman@sun.com>
 
        * configure.in:
        * docs/Makefile.am:
 
        * libspi/base.[ch]: add.
 
-2001-18-11  Bill Haneman <bill.haneman@sun.com>
+2001-11-18  Bill Haneman <bill.haneman@sun.com>
 
        * idl/Accessible.idl:
        * idl/Application.idl:
        Solaris build problem.
        
        
-2001-20-11  Michael Meeks  <michael@ximian.com>
+2001-11-20  Michael Meeks  <michael@ximian.com>
 
        * libspi/registry.c
        (impl_accessibility_registry_deregister_global_event_listener): 
        * libspi/application.h: kill unused ( and whacked out )
        gboolean *spi_application_set_id (AtkObject *app, long id);
 
-2001-20-11  Michael Meeks  <michael@ximian.com>
+2001-11-20  Michael Meeks  <michael@ximian.com>
 
        * libspi/*.[ch]: further convert to bonobo's type func
        macros, remove redundnant casts etc.
 
        * */.cvsignore: update
        
-2001-20-11  Michael Meeks  <michael@ximian.com>
+2001-11-20  Michael Meeks  <michael@ximian.com>
 
        * libspi/deviceeventcontroller.c
        (_controller_register_with_devices): use g_getenv,
 
        * libspi/*.[ch]: more headers, includes and over commenting.
        
-2001-20-11  Michael Meeks  <michael@ximian.com>
+2001-11-20  Michael Meeks  <michael@ximian.com>
 
        * libspi/*.[ch]: fixup headers, includes and over commenting.
 
 
        * libspi/libspi.h: add.
 
-2001-19-11  Michael Meeks  <michael@ximian.com>
+2001-11-19  Michael Meeks  <michael@ximian.com>
 
        * libspi/editabletext.c (impl_setAttributes): fix warnings.
 
        * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
        warning fixes.
 
-2001-18-11  Bill Haneman <bill.haneman@sun.com>
+2001-11-18  Bill Haneman <bill.haneman@sun.com>
 
        * libspi/spi_accessible.c: Added docs and C bindings for
        AccessibleStateSet. (No implementations yet).  Documentation
             object:column-deleted
             object:model-changed        
 
-2001-16-11  Bill Haneman <bill.haneman@sun.com>
+2001-11-16  Bill Haneman <bill.haneman@sun.com>
 
        * libspi/hyperlink.c,h:
        Fixed some broken stuff in hyperlink.
 
        Doc coverage now 95%.
 
-2001-16-11  Bill Haneman <bill.haneman@sun.com>
+2001-11-16  Bill Haneman <bill.haneman@sun.com>
 
        One last namespacing revision:
        * libspi/accessibleeventlistener.[ch]:
        AccessibleTable
        AccessibleHyperlink
        
-2001-14-11  Bill Haneman <bill.haneman@sun.com>
+2001-11-14  Bill Haneman <bill.haneman@sun.com>
 
        * at-bridge/bridge.c:
        Initial work for toolkit-level key snooper connection by bridge.
        libraries. (Incompletely tested for technical reasons, fixes may follow)
        
 
-2001-13-11  Michael Meeks  <michael@ximian.com>
+2001-11-13  Michael Meeks  <michael@ximian.com>
 
        * libspi/application.c
        (impl_accessibility_application_get_version),
        (impl_accessibility_accessible_get_relation_set):
        warning fixes & include action.h
 
-2001-13-11  Michael Meeks  <michael@ximian.com>
+2001-11-13  Michael Meeks  <michael@ximian.com>
 
        * *.[ch] fix bits I screwed up:
 
                s/([^ \tb(\*\&\?\",])spi_/\1/g;
                s/([^ \tb(\*\&\?\",])Spi/\1/g;
        
-2001-13-11  Michael Meeks  <michael@ximian.com>
+2001-11-13  Michael Meeks  <michael@ximian.com>
 
        * *.[ch] Namespace libspi into spi_ and Spi.
 
 
        * configure.in: build it.
 
-2001-12-11  Bill Haneman <bill.haneman@sun.com>
+2001-11-12  Bill Haneman <bill.haneman@sun.com>
 
         * test/keysynth-demo.c:
         Use a 'realize' signal-handler to set the WM properties for
 
        * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
 
-<2001-10-26  Laszlo Peter <laca@ireland.sun.com>
+2001-10-26  Laszlo Peter <laca@ireland.sun.com>
 
        * at-bridge/Makefile.am: fix LDFLAGS.
 
-<2001-10-09  Bill Haneman <bill.haneman@sun.com>
+2001-10-09  Bill Haneman <bill.haneman@sun.com>
 
        * at-bridge/bridge.c:
        Re-worked listeners for toolkit events, now we have signal
        bonobo_object_corba_objref (bonobo_object(o)) to
        BONOBO_OBJREF(o), for concision and clarity.
        
-<2001-10-13  Louise Miller <louise.miller@sun.com>
+2001-10-13  Louise Miller <louise.miller@sun.com>
 
        * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
        idl/Event.idl, idl/Registry.idl
        Changed these files to include Bonobo_Unknown.idl instead
        of Bonobo.idl
 
-<2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
+2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
 
        * libspi/component.c libspi/component.h:
                Fixed typo.  Added assertions for object checks in 
        AccessibleComponent code.
 
-<2001-10-09  Bill Haneman <bill.haneman@sun.com>
+2001-10-09  Bill Haneman <bill.haneman@sun.com>
 
        * idl/Accessible.idl:
                Added 'isEqual (Accessible *object)' 
        CORBA_unsigned_long, to allow for 32-bit characters.
        
                
-<2001-10-08  Bill Haneman <bill.haneman@sun.com>
+2001-10-08  Bill Haneman <bill.haneman@sun.com>
 
        * util/Makefile.am:
        * idl/Makefile.am:
                Changed the default magnifier type to be a 3x vertical
        splitscreen magnifier (was previously a 2x horizontal one).
 
-<2001-10-03  Bill Haneman <bill.haneman@sun.com>
+2001-10-03  Bill Haneman <bill.haneman@sun.com>
 
        * libspi/keystrokelistener.h:
        * libspi/keystrokelistener.c:
                Initial functional implementations of KeystrokeListener.
        * idl/Registry.idl:
        
-<2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
+2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
 
        Fixed string handling for NULL strings in libspi.
        Added spi_freeString to free strings returned by C bindings.
 
-<2001-09-30  Bill Haneman <bill.haneman@sun.com>
+2001-09-30  Bill Haneman <bill.haneman@sun.com>
 
        * libspi/keystrokelistener.h:
        * libspi/keystrokelistener.c:
                        Required making 'app' static, renamed 'this_app'.
                Fixed broken use of bonobo_init, passing argv wrongly.
 
-<2001-09-27  Bill Haneman <bill.haneman@sun.com>
+2001-09-27  Bill Haneman <bill.haneman@sun.com>
 
        * util:
        * util/Makefile.am: 
                If env variable MAGNIFIER is set, a magnifier service
                        will be started if one does not exist.
        
-<2001-09-25  Bill Haneman <bill.haneman@sun.com>
+2001-09-25  Bill Haneman <bill.haneman@sun.com>
+
        * at-bridge/bridge.c:
                applied patch from Marc to build and run 
                against new glib and gtk+ (seemed like a change 
                Changed "application.h" header from a 'source'
                to a 'dependency' of libat-bridge.
 
-<2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
+2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
+
        * cspi/Makefile.am:
                Added spi-util.c.
 
        * libspi/hyperlink.c:
                Change for nAnchors attributte name change.
 
-<2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
+2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
        * cspi/Makefile.am:
                Added spi-util.c.
 
                Change for nAnchors attributte name change.
 
 
-<2001-09-05  Marc Mulcahy <marc.mulcahy@sun.com>
+2001-09-05  Marc Mulcahy <marc.mulcahy@sun.com>
 
        implementations-- made server implementations own AtkObject pointers
        rather than their respective AtkInterrface pointers to fix
        refcounting.  AtkHyperlink is still broken.
 
-<2001-09-04  Bill Haneman <bill.haneman@sun.com>
+2001-09-04  Bill Haneman <bill.haneman@sun.com>
        * cspi/spi_accessible.c:
                Added method Accessible_Role_getName(),
                        and requisite string array (role_names).
            Changed bonobo_object_release_unref to 
            Accessibility_Accessible_unref.
        
-<2001-09-04  Marc Mulcahy <marc.mulcahy@sun.com>
+2001-09-04  Marc Mulcahy <marc.mulcahy@sun.com>
        
        * Added files:
            spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
            Implementations for C bindings to remaining accessibility 
            interfaces.
 
-<2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
+2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
        
        * idl/Action.idl:
            changed return value of Action from void to boolean to 
 2001-08-21  Bill Haneman <bill.haneman@sun.com>
 
         Tagged CVS repository 'EA_1_0'.
-        * README.EARLY_ACCESS:
+       * README.EARLY_ACCESS:
         Alphabetized acknowledgements list, and
         added someone.
         Listed some known dependencies of at-spi.
        Accessible_getName() - uppercase object type name, studlyCaps method
                               name.
 
-       *cspi/spi.h:
+       * cspi/spi.h:
        Added gtk-doc documentation for all currently implemented
        methods in the C bindings API.
 
 
 2001-07-31  Bill Haneman <bill.haneman@sun.com>
 
-        * libspi/accessible.c : added support for 'description' property.
+       * libspi/accessible.c : added support for 'description' property.
        * libspi/accessible.c
        * libspi/desktop.c
        * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
 
 2001-07-28  Anders Carlsson  <andersca@gnome.org>
 
-        * libspi/accessible.c (accessible_object_finalize): Change
+       * libspi/accessible.c (accessible_object_finalize): Change
           g_free to g_object_unref since the AtkObject is a GObject.
 
 2001-07-30  Bill Haneman <bill.haneman@sun.com>