+2001-11-28 Bill Haneman <bill.haneman@sun.com>
+
+ * docs/reference/cspi:
+ Included docs for SPI_freeString in generated documentation.
+
+ * cspi/spi-util.c:
+ Renamed spi_freeString to SPI_freeString, for consistency. Added
+ documentation for this function.
+
+ * cspi/spi-util.h:
+ Renamed spi_freeString to SPI_freeString, for consistency.
+ Removed obsolete method declaration string_from_corba_string.
+
+ * test/keysynth-demo.c:
+ Small tweak to comments.
+
+ * test/simple-at.c:
+ Stopped leaking the strings returned from CSPI.
+
+2001-11-28 Bill Haneman <bill.haneman@sun.com>
+
+ Merged Michael's branch (see his ChangeLog entries below).
+
+ * at-bridge/bridge.c: Explicitly hold a ref to the registry while
+ bridge is alive, release on exit.
+
+ * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
+ Fix type check macro.
+
+ * cspi/spi_event.c:
+ Added AccessibleKeystrokeListener_unref() method to reduce leakage.
+
+ * cspi/spi_main.c:
+ Added is_gnome_app static, and method cspi_is_gnome_app(),
+ so we can call the appropriate shutdown routine at exit in SPI_exit.
+
+ * cspi/spi_main.c (cspi_object_ref):
+ Duplicate the corba object passed in, since we're keeping it around.
+
+ * cspi/SPI_exit.c, cspi_cleanup:
+ Moved the releasing of the live refs to its own function, so we
+ can put it in g_atexit (). Call the appropriate shutdown API
+ depending on whethe calling client is a gnome app or not
+ (bonobo_main_quit or CORBA_ORB_shutdown).
+
+ * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
+ Unref the listener when this method is called, after
+ deregistration. Updated the API docs to note this behavior.
+
+ * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
+ Bugfixes: Ref the bonobo object when returning a parent or child
+ reference, or an AccessibleRelation. Generally made sure
+ BonoboObject refcount is incremented whenever we return an
+ Accessible.
+
+ * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
+ Fixed typo/bug in signal declaration.
+
+ * libspi/accessibleeventlistener.h:
+ Fixed a type macro.
+
+ * libspi/application.c (spi_application_new):
+ Fixed leak in initialization.
+
+ * libspi/desktop.c:
+ Remembered to increment bonobo-object refcount when returning
+ children (applications) from desktop object.
+ Added (empty) finalize method.
+
+ * libspi/deviceeventcontroller.c:
+ Hold a ref to listeners inside DEControllerKeyListeners.
+ Added dec_key_listener_free() method. Use prepend instead of
+ append in key_listener list. Fixed some refcount madness and
+ leaks in the listener registration/deregistration - deregistration
+ now calls dec_key_listener_free() on listeners, and on the
+ temporarily constructed dec_key_listener() used to perform the search/match.
+
+ * libspi/hypertext.c (spi_hypertest_finalize):
+ Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
+ class. Also fixed spi_hypertext_interface_new() and
+ SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
+
+ * libspi/hypertext.h:
+ Removed pointless and duplicate AtkObject pointer from
+ SpiHypertextClass.
+
+ * libspi/keystrokelistener.c:
+ Fixed incorrect type of keystroke_listener_parent_class,
+ renamed keystroke_listener_object_finalize to
+ spi_keystroke_listener_object_finalize.
+ Fixed typo in signal declaration
+ (spi_keystroke_listener_class_init).
+
+ * libspi/registry.c:
+ Added funcsions spi_listener_struct_new() and
+ spi_listener_struct_free() to help with memory management issues.
+ We also now use these methods instead of gnew + poking stuff into
+ the struct, and to decrement listener counts/free the listeners
+ when deregistering them.
+ Fix more refcount bugs in getDesktop() and
+ getDeviceEventController().
+
+ * test/simple-at.c:
+ De-ref the desktop after enumerating the applications. Explicitly
+ decrement the refcounts on the created listeners on exit (using
+ _unref for keystroke listeners, and via the
+ deregisterGlobalEventListenerAll command for other event
+ listeners).
+
+2001-11-27 Michael Meeks <michael@ximian.com>
+
+ * cspi/spi-listener.h: fixup enum.
+
+2001-11-27 Michael Meeks <michael@ximian.com>
+
+ * cspi/spi-listener-impl.c (cspi_event_listener_new),
+ (cspi_keystroke_listener_new): Use the cspi variants.
+
+2001-11-26 Michael Meeks <michael@ximian.com>
+
+ * test/keysynth-demo.c: fix 2 compile warnings, missing
+ type in decl. etc.
+
+ * test/simple-at.c (report_focussed_accessible),
+ (report_focus_event, report_button_press),
+ (check_property_change, is_command_key),
+ (report_ordinary_key_event, report_command_key_event): upd.
+
+ * util/mag_client.h: include pre-requisites.
+
+ * libspi/accessibleeventlistener.c
+ (spi_event_listener_object_finalize): free any lingering
+ callbacks.
+
+ * libspi/keystrokelistener.c
+ (keystroke_listener_object_finalize): ditto.
+
+ * cspi/spi-listener-impl.[ch]: Add to implement cspi style
+ callbacks, with cspi types.
+
+ * cspi/spi_event.c (createAccessibleEventListener): chain to
+ (AccessibleEventListener_addCallback): here.
+ (createAccessibleKeystrokeListener): chain to
+ (AccessibleKeystrokeListener_addCallback): here.
+
+ * libspi/keystrokelistener.c
+ (spi_keystroke_listener_class_init): add signal.
+ (impl_key_event): emit the event.
+ (boolean_handled_accumulator): impl.
+ (marshal_BOOLEAN__POINTER): add, gack.
+
+ * libspi/accessibleeventlistener.c
+ (spi_event_listener_class_init): add signal.
+ (impl_accessible_event_notify_event): emit the signal &
+ make the loop efficient.
+ (spi_event_listener_add_callback): prepend the callback.
+
+ * libspi/accessibleeventlistener.h: add an 'event' signal,
+ decl type on callback.
+
+ * libspi/keystrokelistener.h: ditto.
+
+ * cspi/spi-listener.h: make methods typesafe and
+ make them use the new event typedefs.
+
+ * test/simple-at.c (report_focussed_accessible):
+ include mag_client.h
+ Use *(void *)text_interface not the other thing.
+
+ * configure.in: add gtk to registryd bits - since we use
+ gdk there ( why ? )
+
+ * util/magnifier.c: include libbonobo.h
+
+2001-11-25 Bill Haneman <bill.haneman@sun.com>
+
+ * test/keysynth-demo.c:
+ Turned this into a simple scanning keyboard, to demonstrate the
+ use of g_timeout_add () as a means of creating timers for
+ scanning, and the use of GtkStyle for visually indicating when
+ virtual keyboard elements are selected.
+
+ keysynth-demo now listens to any keyboard keys with zero-valued
+ keycodes (i.e. 'unused' keys) and interprets them as
+ single-switches.
+
+ Reworked the shiftlatch code so that shift-down state isn't held
+ for long periods (it's only synthesized immediately prior to
+ the keysynth event it's modifying). Note that shiftlatch in this
+ demo is a convenience, not intended to take the place of AccessX
+ which is the better choice for getting 'sticky' modifier keys.
+
+ * libspi/deviceeventcontroller.c:
+ * at-bridge/bridge.c:
+ * cspi/spi_registry.c:
+ Removed some debug print stuff, and put other verbosity in #ifdef
+ blocks.
+
+ * util/magnifier.c:
+ * util/mag_image.h:
+ Implemented some more of the magnifier IDL for the simple
+ magnifier: namely, getZoomRegionParams.
+ Added mag_x and mag_y members to MagnifierData struct, aid of this
+ implementation.
+ Added GtkWindow::realize signal handler to magnifier, to keep it
+ from receiving keyboard focus from the WM.
+
+2001-11-23 Mark McLoughlin <mark@skynet.ie>
+
+ * cspi/spi-private.h: my guess at what michael forgot
+ before he ran off to NZ :-)
+
+2001-11-23 Michael Meeks <michael@ximian.com>
+
+ * cspi/spi_event.c (AccessibleEventListener_removeCallback):
+ comment out non existant method invoke so we link.
+
+ * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
+ use bonobo_exception_get_text for more friendly warnings.
+
+ * cspi/spi.c (Obj_Add): move into spi_main & rename
+ spi_object_add; kill spi.c
+
+ * cspi/spi_registry.c
+ (deregisterGlobalEventListener),
+ (deregisterGlobalEventListenerAll),
+ (registerGlobalEventListener): fix exception leaks.
+
+ * cspi/spi_main.c (spi_exception): impl. helper, so we
+ don't leak exceptions.
+
+ * cspi/spi_selection.c
+ (AccessibleSelection_deselectSelectedChild): return the
+ success state.
+
+ * cspi/spi_main.c (spi_ev): impl; hack - gack.
+ (spi_registry): ditto.
+ (SPI_init): guard against double inits.
+
+ * cspi/*.c: use spi_ev (), and spi_registry () where
+ appropriate - a temporary hack until we have something
+ better. Use spi_object_add
+
+2001-11-22 Michael Meeks <michael@ximian.com>
+
+ * cspi/Makefile.am: re organise, install the headers.
+
+ * cspi/*.h: add G_BEGIN/END_DECLS
+
+2001-22-11 Bill Haneman <bill.haneman@sun.com>
+
+ * test/simple-at.c:
+ Added non-preemptive keylistener for key events with no modifiers
+ and shift-only modifier.
+
+ * libspi/keystrokelistener.c:
+ Removed some verbose diagnostics printout.
+
+ * cspi/spi_registry.c:
+ Fixed a bug that caused all key listeners to be registered as
+ pre-emptive.
+
+ * libspi/deviceeventcontroller.c:
+ Fixed bug that caused XGrabKey (preemptive key grab) to be called
+ for non-preemptive key masks.
+
+
+2001-22-11 Bill Haneman <bill.haneman@sun.com>
+
+ * docs/reference/idl/at-spi-idl-docs.sgml:
+ * docs/reference/idl/at-spi-idl-sections.txt:
+ * docs/reference/idl/at-spi-idl-overrides.txt:
+ Added missing files.
+
+ * docs/reference/Makefile.am:
+ removed idl from SUBDIRS until we can figure a way to get gtk-doc
+ to scan the IDL files :-(
+
+ * docs/reference:
+ * docs/cspi:
+ * docs/idl:
+ Added .cvsignore files.
+
+2001-21-11 Bill Haneman <bill.haneman@sun.com>
+
+ * libspi/deviceeventcontroller.c:
+ * libspi/keystrokelistener.c:
+ * cspi/spi_event.c:
+ * cspi/spi_registry.c:
+ Added filters for KeySets, KeyEventSeq, and event types to key
+ event dispatching, so listeners should only receive those events
+ that they requested :-)
+
+2001-21-11 Bill Haneman <bill.haneman@sun.com>
+
+ * configure.in:
+ * docs/Makefile.am:
+ * docs/reference:
+ * docs/reference:Makefile.am:
+ * docs/reference/cspi:
+ * docs/reference/cspi:Makefile.am:
+ * docs/reference/cspi:tmpl:
+ * docs/reference/cspi:tmpl:*.sgml:
+ * docs/reference/idl:
+ * docs/reference/idl:Makefile.am:
+ * docs/reference/idl:at-spi-idl-sections.txt:
+ * docs/reference/idl:at-spi-idl-docs.sgml:
+ * docs/reference/idl:tmpl:
+ * docs/reference/idl:tmpl:*.sgml:
+
+ Restructured docs directory to allow separate 'reference' docs
+ section, and forked idl and cspi docs. Added the sgml template
+ files to CVS. Added the first sections/structural sgml for the
+ IDL docs.
+
+2001-11-21 Laszlo Peter <laca@ireland.sun.com>
+
+ * configure.in, libspi/Makefile.am: find libXtst.
+
+2001-11-21 Michael Meeks <michael@ximian.com>
+
+ * test/accessx-gui.c: s/spi_value/value/ - doh.
+
+ * libspi/base.[ch]: add.
+
+2001-18-11 Bill Haneman <bill.haneman@sun.com>
+
+ * idl/Accessible.idl:
+ * idl/Application.idl:
+ * idl/Registry.idl:
+ * idl/Action.idl:
+ Started gtk-doc cleanup on IDL.
+
+ * libspi/deviceeventcontroller.c:
+ Added and connected non-preemptive key notification from the
+ toolkits (in addition to the pre-emptive support from XServer
+ which we had before, but which causes 'focus flashing'). Filters
+ are presently limited to key modifiers and global/non-global,
+ KeySets are presently ignored, as are KeyEvent masks.
+
+ Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
+ structs into the persistant structure rather than just storing
+ pointers to things that might not persist across servant
+ invocations.
+
+ The XGrabKey call now does async keygrabs, because synchronous
+ ones were deadlocking with GDK_event code in a very nasty way.
+
+ Added boolean to internal method notify_keylisteners, to indicate
+ whether the event came from the 'toolkit source' or the 'global
+ (XServer) source' - this is used in the notification process to
+ determine which listeners to send the event to.
+
+ deviceeventcontroller.c is now warning-free.
+
+ * libspi/registry.c:
+ Fixed regression in application de-registration.
+ Also fixed some really brain-dead weirdness having to do with
+ event dispatching - event structs are now duplicated before being
+ re-marshalled in the dispatch to listeners. This also fixes a
+ Solaris build problem.
+
+
+2001-20-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/registry.c
+ (impl_accessibility_registry_deregister_global_event_listener):
+ segv. protection.
+
+ * libspi/deviceeventcontroller.c
+ (spi_device_event_controller_check_key_event): return
+ FALSE on no virtual method.
+
+ * libspi/*..h: make includes work on a correctly pathed install.
+
+ * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
+
+ * libspi/application.h: kill unused ( and whacked out )
+ gboolean *spi_application_set_id (AtkObject *app, long id);
+
+2001-20-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/*.[ch]: further convert to bonobo's type func
+ macros, remove redundnant casts etc.
+
+ * libspi/text.c s/accessibility_text/spi_text/g,
+ re-order to de-cruft.
+
+ * libspi/hypertext.c: re-order to kill a huge slew
+ of redundant forward decls.
+
+ * libspi/relation.c: ditto.
+
+ * libspi/image.c: ditto.
+
+ * */.cvsignore: update
+
+2001-20-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/deviceeventcontroller.c
+ (_controller_register_with_devices): use g_getenv,
+ kill stdlib.h include.
+
+ * libspi/keystrokelistener.c
+ (spi_keystroke_listener_get_type): kill
+ (spi_keystroke_listener_class_init),
+ (spi_keystroke_listener_init): rename to this.
+
+ * libspi/text.c (impl_getAttributes): fix warning / bug.
+
+ * libspi/*.[ch]: more headers, includes and over commenting.
+
+2001-20-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/*.[ch]: fixup headers, includes and over commenting.
+
+ * libspi/image.c (impl__get_imageDescription): const
+ correctness warning fix. remove redundant casting.
+
+ * libspi/table.c (impl_getRowDescription): ditto.
+ (impl_getColumnDescription): ditto.
+
+ * libspi/libspi.h: add.
+
+2001-19-11 Michael Meeks <michael@ximian.com>
+
+ * libspi/editabletext.c (impl_setAttributes): fix warnings.
+
+ * libspi/component.c (accessibility_component_get_type):
+ rename to (spi_component_get_type): and macroify.
+ (accessibility_component_init): rename to
+ (spi_component_init): this
+ (accessibility_component_class_init): rename to
+ (spi_component_class_init): this
+
+ * libspi/action.c (spi_action_get_type): kill, use the macro.
+
+ * libspi/deviceeventcontroller.c (_compare_listeners): re-order
+ to avoid prototype.
+
+ * libspi/application.c (spi_application_object_event_listener),
+ (impl_accessibility_application_register_object_event_listener):
+ warning fixes / const understanding updates.
+
+ * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
+ warning fixes.
+
2001-18-11 Bill Haneman <bill.haneman@sun.com>
* libspi/spi_accessible.c: Added docs and C bindings for