2002-11-15 Darren Kenny <darren.kenny@sun.com>
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
index 9b88d37..c294176 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,418 @@
+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