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