+2002-03-15 Bill Haneman <bill.haneman@sun.com>
+
+ * idl/Accessibility_Role.idl:
+ Added ROLE_DRAWING_AREA which seemed to be missing from the
+ previous commit.
+
+2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ * cspi/spi-roletypes.h cspi/spi_accessible.c
+ idl/Accessibility_Role.idl libspi/accessible.c: synched up role
+ types with ATK.
+
+ * registryd/desktop.c registryd/desktop.h registryd/registry.c:
+ Added signals to SpiDesktop and callbacks in SpiRegistry to notify
+ AT when applications are added and removed from the desktop. This
+ reverts the previous broken implementation using the backing
+ AtkObject for the SpiDesktop.
+
+ 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ * registryd/desktop.c: emit the "children-changed::add" and
+ "children-changed::remove" signals on the backing ATK object for
+ the desktop so AT can tell when applications are started and shut
+ down.
+
+ 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
+
+ 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
+
+ * cspi/spi_accessible.c: Implemented c bindings for stateset support
+
+ * cspi/state-types.h: synched with IDL and ATK
+
+ 2002-03-13 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/accessible.c
+ (impl_accessibility_accessible_get_child_at_index):
+ Change return value for g_return_if_fail ()
+ to CORBA_OBJECT_NIL instead of "0" (!)
+
+ * registryd/Makefile.am:
+ * registryd/Accessibility_Register.server.in:
+ Changed name of executable, "registryd",
+ to something more informative:
+ "at-spi-registryd".
+
+2002-03-13 Michael Meeks <michael@ximian.com>
+
+ * atk-bridge/bridge.c (atk_bridge_init): don't register
+ if we're in a bonobo-component, rather than a bonobo app.
+
+2002-03-13 Michael Meeks <michael@ximian.com>
+
+ * atk-bridge/bridge.c (gtk_module_init): split
+ out body to (atk_bridge_init): here, since otherwise
+ we get symbol conflicts and oddness when invoked
+ from (gnome_accessibility_module_init): here (upd.)
+
+2002-03-11 Bill Haneman <bill.haneman@sun.com>
+
+ * HACKING:
+ New file. Explicitly allow "build sheriff" putbacks provided
+ they are tested on Solaris.
+
+ * docs/reference/cspi/Makefile.am:
+ Added '-' to the "cp" command for index.sgml.
+ ("patch by thomasvs, soon coming to a GUADEC near you")
+
+ * configure.in:
+ Incremented version number (0.9.0) for new release.
+ Changed macro that checks for popt, to better detect
+ obsolete versions of popt.
+
+ * configure.in:
+ Added X_LIBS to AC_SUBST, for applications
+ that call Xlib API directly.
+
+
+2002-03-07 Bill Haneman <bill.haneman@sun.com>
+
+ * configure.in:
+ Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
+
+ * util/Makefile.am:
+ Fix regression caused by hard-coding major
+ version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
+ (see above change).
+
+ * test/test-simple.c (test_editable_text),
+ (test_test): revert previous change (error was
+ a regression in gail which is now fixed).
+
+2002-03-04 Michael Meeks <michael@ximian.com>
+
+ * test/test-simple.c (test_editable_text),
+ (test_text): pass G_MAXINT instead of '-1' for
+ whole string - is this a good thing !?
+
+ * cspi/spi_accessible.c
+ (Accessible_getRelationSet): fix crasher bug
+ overwriting the end of the array.
+
+ * test/test-simple.c (validate_accessible): free,
+ not g_free returned relation set.
+
+2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
+ implemented stateset support
+
+ * idl/Accessibility_State.idl: Made necessary changes to
+ the IDL to support state sets.
+
+2002-02-12 Bill Haneman <bill.haneman@sun.com>
+
+ * registryd/deviceeventcontroller.c:
+ Added implementation for generateMouseEvent.
+
+ * cspi/spi_registry.c:
+ Connected new implementation for generateMouseEvent
+ to the C bindings.
+
+2002-02-12 Bill Haneman <bill.haneman@sun.com>
+
+ * configure.in: 0.8
+ Incremented revision (but no change in public API
+ outside of 'utils', which are not installed public yet.)
+
+ * libspi/component.c:
+ Changed to use atk_component API for layers and
+ mdi_zorder, instead of deprecated atk_object API.
+
+ Magnification Utility Enhancements:
+
+ * util/magnifier.c:
+ Added implementation of createZoomRegion, clearAllZoomRegions,
+ resizeZoomRegion. Added new commandline argument
+ "--no-initial-region". Note that clearAllZoomRegions doesn't
+ unmap the old '0' region as it should (yet), and the other
+ methods only work when creating/resizing a single region,
+ which is "region 0".
+ (Code for multiple region support will be added later.)
+
+ * util/mag_image.c:
+ Now we raise the magnifier window each time it's refreshed;
+ this will help keep it on top.
+
+ * util/mag_client.h:
+ Added simple wrappers for above, used by mag_control.
+ For general use, it's recommended to use the bonobo magnifier
+ control API directly instead of using these wrappers.
+
+ * util/mag_image.h:
+ Moved ZoomRegionData from magnifier.c to this file.
+
+ * util/mag_control.c:
+ Added some code to exercise new IDL implementations.
+
+2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
+
+ * libspi/text.c: Provide implementation for getAttributes.
+
+2002-02-04 Bill Haneman <bill.haneman@sun.com>
+
+ * configure.in:
+ Incremented revision.
+
+ * test/test-simple.c:
+ Replaced use of deprecated g_main_iteration with
+ g_main_context_iteration.
+
+2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
+
+ * configure.in:
+ Incremented revision for desktop alpha 2.
+
+2002-01-28 Mark McLoughlin <mark@skynet.ie>
+
+ * libspi/remoteobject.[ch]: make RemoteObject and interface rather
+ than an atk object.
+
+ * test/simple-at.c: include netinet/in.h.
+
+2002-01-24 Mark McLoughlin <mark@skynet.ie>
+
+ * cspi/spi_accessible.c: (Accessible_getRelationSet):
+ use NULL, not CORBA_OBJECT_NIL.
+
+ * libspi/accessible.c:
+ (impl_accessibility_accessible_get_relation_set):
+ allocate the sequence correctly.
+
+ * libspi/remoteobject.h: kill spi_remote_object_new.
+
+ * test/test-simple.c: (validate_accessible): add code
+ to test relation sets, now all we need is to figure
+ out how to excercise this code path :/
+
+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
+ to sync this array with the enum; and make the regression
+ tests pass, sigh.
+
+2002-01-10 Michael Meeks <michael@ximian.com>
+
+ * cspi/spi_registry.c (SPI_generateKeyboardEvent):
+ allow expansion of enumeration & kill warning.
+
+ * test/test-simple.c (key_listener_cb): impl.
+ (test_keylisteners): impl.
+
+ * cspi/spi-listener.h: make listener signatures const
+ on the provided (const) events.
+
+ * test/keysynth-demo.c: upd. to const events.
+
+ * test/simple-at.c: ditto.
+
+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.
+
+ * libspi/value.h:
+ Fixed typo in header which was redefining SPI_ACTION_CLASS.
+
+ * cspi/spi_accessible.c:
+ Add a couple of missing enum initializations, and fix some enum
+ comments.
+
+ * cspi/spi_registry.c:
+ Add comment describing keystring parameter to SPI_generateKeyboardEvent.
+
+ * docs/reference/cspi/at-spi-cspi-sections.txt:
+ Remove/fix a couple of broken document references.
+
+ * test/simple-at.c:
+ Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
+ as Alt-Control to listen for commands, since on some systems
+ Control-Alt may already be grabbed.
+
+2002-01-10 Bill Haneman <bill.haneman@sun.com>
+
+ * configure.in:
+ Update version number to 0.4 for Beta2.
+
+ * libspi/accessible.c, libspi/accessible.h:
+ Expose spi_accessible_construct, to enable libgail-gnome
+ construction from spi_accessible subtype.
+
+ * utils/magnifier.c:
+ Workaround for bug in some non-gnome-compliant window managers
+ which made magnifier resize improperly.
+
+2002-01-09 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/accessible.c: (spi_accessible_new) :
+ Move the test for SPI_IS_REMOTE_OBJECT to
+ spi_accessible_new_return, fixing a bug and compile time warning.
+
+2002-01-08 Michael Meeks <michael@ximian.com>
+
+ * registryd/registry.c (parse_event_type): remove strndup.
+
+ * libspi/Makefile.am (libspi_la_SOURCES): remove
+ sources already included in the headers section.
+
+ * libspi/util.c: add.
+
+ * libspi/spi-private.h: add.
+
+ * registryd/registry.c: update to moved list iterators.
+
+2002-01-05 Michael Meeks <michael@ximian.com>
+
+ * test/simple-at.c (main): upd. auto-module set to atk-bridge
+
+ * test/test-simple.c (main): ditto.
+
+2002-01-04 Michael Meeks <michael@ximian.com>
+
+ * libspi/accessible.c (spi_accessible_new): remove 2nd,
+ redundant construct.
+
+ * registryd/registry.c
+ (get_listener_list): impl.
+ (impl_accessibility_registry_register_global_event_listener):
+ re-impl. to simplify using ~, remove dodgy const cast off.
+ (parse_event_type): constify.
+ (impl_accessibility_registry_deregister_global_event_listener_all):
+ re-write, more efficiency and simplicity, kill re-enterancy
+ hazard.
+ (compare_listener_corbaref, compare_corba_objects),
+ (compare_listener_quarks): define out.
+ (impl_accessibility_registry_deregister_global_event_listener):
+ re-write for effiency, and nail re-enterancy hazard.
+ (impl_accessibility_registry_get_desktop_list): impl.
+ (re_enterant_list_delete_link): impl.
+ (re_enterant_list_foreach): impl.
+ (remove_listener_cb): impl.
+ (_registry_notify_listeners): kill.
+ (notify_listeners_cb): impl.
+
+ * cspi/spi_registry.c (SPI_freeDesktopList): impl.
+ (SPI_getDesktopList): impl.
+
+ * test/test-simple.c (test_desktop): test the methods.
+
+2002-01-03 Michael Meeks <michael@ximian.com>
+
+ * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
+ keystrings since we free them
+ (SPI_freeAccessibleKeySet): in here.
+
+ * libspi/accessible.c (spi_accessible_new): kill warning,
+ wonder what is going on with the constructor here.
+
+2002-03-01 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/accessible.c (spi_accessible_new ()) :
+ Added check to see if AtkObject is an SpiRemoteObject before
+ creating an SpiAccessible.
+
+2002-05-01 Bill Haneman <bill.haneman@sun.com>
+
+ * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
+ Enable keygrabs using the Control modifier, now that they are
+ working properly (they were previously disabled).
+
+ * test/simple-at.c:
+ Change the command keygrab for this demo to "Control+Alt", so as
+ to conflict with fewer other key commands on the system; this
+ means that the quit command for "simple-at" is now "Ctrl-Alt-q".
+
+ Removed a pointlessly-chatty keylistener for unshifted keys
+ (shifted keys are still reported).
+
+2002-02-01 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/remoteobject.h:
+ * libspi/remoteobject.c:
+ Added definitions for special AtkObject subtype, required for
+ support of remote components (specifically, used by BonoboControl
+ accessibility implementation).
+
2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
* cspi/spi.h: synched relation types with ATK