Updated NEWS.
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
index 2672580..bc8e556 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,354 @@
+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.