+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: [partial fix for bug 85305]
+ * 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