+2002-01-18 Michael Meeks <michael@ximian.com>
+
+ * test/test-simple.c
+ (key_listener_cb): consume the key.
+ (test_keylisteners): update.
+ (main): wait for any pending unrefs on events.
+
+ * registryd/deviceeventcontroller.c
+ (spi_controller_update_key_grabs): only re-issue the
+ grab on a key release.
+ (spi_device_event_controller_forward_key_event):
+ refresh the keygrabs before we notify the listeners,
+ to reduce the X ungrab / re-grab race.
+ (spi_controller_register_with_devices): remove
+ XSelectInput - we do that with the gdk_window_ call.
+ (_spi_controller_device_error_handler): return a value.
+ s/GDK_DISPLAY/spi_get_display/
+
+2002-01-17 Michael Meeks <michael@ximian.com>
+
+ * registryd/deviceeventcontroller.c
+ (_deregister_keygrab): don't blow out the later
+ assertion.
+
+ * test/test-simple.c (test_keylisteners): do a
+ more intelligent validation.
+
+2002-01-14 Michael Meeks <michael@ximian.com>
+
+ * atk-bridge/bridge.c
+ (gnome_accessibility_module_init),
+ (gnome_accessibility_module_shutdown): impl.
+ (gtk_module_init): protect vs. double inits.
+ (add_signal_listener): impl.
+ (spi_atk_bridge_state_event_listener): kill
+ (deregister_application): split out of
+ (spi_atk_bridge_exit_func): here.
+
+2002-01-18 Bill Haneman <bill.haneman@sun.com>
+
+ * test/simple-at.c:
+ Added caret tracking when using magnifier, and
+ now use text bounds for focus tracking of text elements, rather than
+ the component bounds - this is helpful for short text fields in long
+ table cells, at high magnification.
+
+2002-01-16 Bill Haneman <bill.haneman@sun.com>
+
+ * registryd/deviceeventcontroller.c:
+ Regression fix for keylistener de-registration; global keygrabs
+ were not being released when deregisterKeystrokeListener was
+ called in cspi, since
+ Accessibility_DeviceEventController_deregisterKeystrokeListener
+ was called with a zero-length keyset. That is because the cspi
+ method, SPI_deregisterKeystrokeListener, does not take a keyset
+ parameter but instead should remove all the key grabs held be a
+ keystroke listener.
+ The code in impl_deregister_keystroke_listener was changed to copy
+ the keylist from the listener instance previously registered with
+ the DeviceEventController before releasing the grabs.
+
+ * registryd/registry.c:
+ * registryd/deviceeventcontroller.c:
+ * libspi/spi-private.h:
+ * libspi/util.c:
+ Changed spelling of "re-enterant" to "re-entrant" globally.
+
+2002-01-16 Bill Haneman <bill.haneman@sun.com>
+
+ * test/test-simple.c:
+ Changed key listeners test - the test was slightly mis-using the
+ (admittedly poorly documented) SPI_generateKeyboardEvent API.
+ It now uses '=' as the key event listened to and generated,
+ relying on a keysym match rather than assuming that keycode 33
+ is always equal to keysym '!'.
+
+2002-01-15 Bill Haneman <bill.haneman@sun.com>
+
+ * test/simple-at.c:
+ Changed simple-at to use a specific keyset, rather than
+ SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
+ manager, desktop, etc.
+
+2002-01-11 Bill Haneman <bill.haneman@sun.com>
+
+ * registryd/deviceeventcontroller.c:
+ Replaced standard X error handler with a special handler that
+ is non-fatal for failed keygrabs. This works around
+ problems with keygrab clashes sometimes observed on
+ Solaris using CDE.
+ Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
+ mouse handling code as yet).
+
+2002-01-11 Bill Haneman <bill.haneman@sun.com>
+
+ * configure.in:
+ Incremented revision for desktop alpha release.
+
+ * README:
+ Fixed a couple of the more glaring errors (still not
+ very up-to-date).
+
+2002-01-11 Michael Meeks <michael@ximian.com>
+
+ * registryd/deviceeventcontroller.c
+ (spi_device_event_controller_forward_key_event): kill
+ XUngrabKey / XKeyGrab race.
+ (spi_controller_grab_keyboard): rename to
+ (spi_controller_update_key_grabs): this, and deal
+ with incremental adding / removing grabs more
+ sensibly.
+ (_register_keygrab): ensure we're not pending a remove.
+ (spi_grab_mask_free): impl.
+ (spi_controller_register_global_keygrabs): split out
+ common code into:
+ (handle_keygrab): impl.
+ (_deregister_keygrab): impl.
+ (spi_controller_deregister_global_keygrabs): impl.
+ (spi_controller_update_key_grabs): re-issue the grab if
+ we just recieved a notification.
+
+ * test/test-simple.c (key_listener_cb): remove debug.
+
+ * registryd/deviceeventcontroller.c
+ (spi_controller_register_device_listener): after
+ registering a global keygrab, actualy register it !
+ don't wait for a timeout; doh !
+
+ * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
+ to make it more readable / manipulable.
+ s/grabmask/grab_mask/ s/refcount/ref_count/
+ s/keyval/key_val/ s/modmask/mod_mask
+
+2002-01-08 Michael Meeks <michael@ximian.com>
+
+ * registryd/deviceeventcontroller.c
+ (spi_controller_register_with_devices): use gdk calls to
+ setup a filter.
+ (global_filter_fn): implement the filter.
+ (spi_device_event_controller_check_key_event): rename to
+ (spi_device_event_controller_forward_key_event): this & upd.
+ (spi_get_display): replace with GDK_DISPLAY.
+
+ * registryd/deviceeventcontroller.c
+ (spi_controller_deregister_device_listener): unroll into
+ (impl_deregister_keystroke_listener): here to simplify.
+ (spi_controller_register_global_keygrabs): split cut and
+ paste (!) out into (_register_keygrab): here, shorter & sweeter.
+ (spi_controller_deregister_device_listener): remove.
+ (impl_register_mouse_listener): remove, no mouse listener
+ support in at-spi-1.0
+
+ * registryd/registry.c
+ (_device_event_controller_hook): kill.
+ (spi_registry_init): upd.
+
+ * registryd/deviceeventcontroller.c
+ (spi_device_event_controller_class_init): upd.
+ (spi_check_key_event): merge into.
+ (spi_device_event_controller_check_key_event):
+ here and kill strange static ev init, don't leak
+ the x_event - nor dynamicaly allocate it.
+
+ * registryd/registry-main.c (main): re-direct
+ timeout to remove strange vtable mess.
+
+ * registryd/deviceeventcontroller.c
+ (remove_listener_cb): impl.
+ (spi_controller_deregister_device_listener):
+ fix re-enterancy hazard.
+
+2002-01-07 Michael Meeks <michael@ximian.com>
+
+ * registryd/deviceeventcontroller.c
+ (spi_device_event_controller_new): upd.
+ (impl_notify_listeners_sync): upd. debug.
+ (spi_notify_keylisteners): fix re-enterancy hazards,
+ prettify, remove O(n*n) iteration.
+ (spi_controller_grab_keyboard): fix iteration.
+ (spi_check_key_event): re-format to suit coding style.
+ Clean all the warnings - we're warning free.
+
+ * registryd/deviceeventcontroller.h:
+ * registryd/registry.h: make mutualy referential with
+ typesafe forward references instead of (!) void pointer
+ hacks.
+
2002-01-11 Michael Meeks <michael@ximian.com>
* cspi/spi_accessible.c (role_names): add a role name
2002-01-11 Bill Haneman <bill.haneman@sun.com>
+ * configure.in:
+ Rev the version to 0.5 (the previous tarball was named 0.4,
+ even though the micro number was 3), so we need to rev upwards
+ again for beta2/"desktop-alpha"
+
* test/demo.csh:
Checked in a demo script, which requires editing before use!
Proceed with caution.