X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ChangeLog;h=dd16439f022d9c69484003be70a92dc7f33ceaf3;hb=4192ec5c3f02f9520d2905e3b6bf4f5d01f8c26c;hp=e46bbf820ca699c5d810f63a61fcd0d1ca5bcb35;hpb=3d5ff785a76d642be44b53494d91a4cfac00f1e7;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/ChangeLog b/ChangeLog index e46bbf8..dd16439 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,1816 @@ +2003-01-21 Padraig O'Briain + This fixes bug #102830. + +2003-01-15 Padraig O'Briain + + * cspi/spi_accessible.c (spi_state_to_corba): rename. + + * libspi/stateset.c (state_spi_to_atk): split out + ( fix several remote array bounds nasties ) + (spi_atk_state_set_from_sequence, impl_contains, impl_add), + (impl_remove): make safe from array bounds issues. + (spi_atk_state_from_spi_state): impl. + + * libspi/stateset.h (spi_state_set_cache_is_empty): + add a set of wrapper defines to get layering right. + + * cspi/spi_accessible.c: update state set stuff to + use it. + +2002-12-14 Michael Meeks + + * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl. + to avoid 2 roundtrips to the registry per key event + (spi_atk_bridge_key_listener): upd. + (deregister_application): release the dec. + + * registryd/registry.c (notify_listeners_cb): + bin lots of re-enterant complexity - we no longer + do a round-trip bonobo ref here, ensure that a single + listener's exception failure won't poison all other + notifications. + (impl_registry_notify_event): bin obvious memory leak. + +2002-12-13 Michael Meeks + + * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker): + init the ev so the error is meaningful. + (spi_atk_bridge_key_listener): ditto. + + * cspi/spi_main.c (cspi_ev): init the ev so we start + with a clean slate, otherwise the first exception + kills us completely. + + * cspi/spi_text.c (get_accessible_text_boundary_type): + add a fallthrough for no warnings. + + * cspi/spi_registry.c: prune unused warnings. + + * cspi/spi_main.c (cspi_object_take): fix + mind-blowing brokenness ( by watching the compile + warnings ) + + * cspi/spi_accessible.c (Accessible_getStateSet): + re-impl. to use an AtkStateSet. + (spi_state_type_from_accessible_state), + (init_state_table): bin these. + + * libspi/stateset.c (spi_atk_state_set_from_sequence): + split out from + (atk_state_set_from_accessibility_state_set): here. + + * cspi/spi_accessible.c (spi_state_to_atk): impl. + (AccessibleStateSet_contains, AccessibleStateSet_ref), + (AccessibleStateSet_unref, AccessibleStateSet_contains), + (AccessibleStateSet_add, AccessibleStateSet_remove), + (AccessibleStateSet_equals, AccessibleStateSet_compare), + (AccessibleStateSet_isEmpty): re-write to use a local + AtkStateSet object. + +2002-12-13 Bill Haneman + + * configure.in: Revved to 1.1.7 (new keymask vals). + +2002-12-10 Bill Haneman + + * libspi/keymasks.h: + Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5. + +2002-12-10 Padraig O'Briain + + * cspi/spi_event.c + (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent() + to compare two CORBA_TypeCodes. + (cspi_internal_event_add): Silence warning from FORTE compiler. + + * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to + avoid implicit declaration of functions. + +2002-12-09 Padraig O'Briain + + * atk-bridge/bridge.c: + (spi_atk_bridge_init_event_type_consts): Store signal id for + active-descendant-changed signal. + (spi_atk_register_event_listeners): Add signal listener for + active-descendant-changed signal, + (spi_atk_bridge_signal_listener): Move code in function + spi_atk-signal_emit_event() into this function. + Add support for active-descendant-changed + Update support for child-changed signal. + (spi_bridge_window_event_listener): Silence warning. + + * libspi/spi_private.[ch]: + (spi_init_any_object): Change second parameter from CORBA_Object to + CORBA_Object*. + Omit call to CORBA_Object_duplicate(). + Set CORBA_any's _value to CORBA_Object*. + +2002-12-06 Bill Haneman + + * configure.in: + Revved to 1.1.6. + + * cspi/spi.h: + (AccessibleEvent_ref, AccessibleEvent_unref): + New methods, for persisting an event outside the emission context. + Must be used if the new accessor methods are to be called + outside of the event listener's callback. + + * cspi/bonobo/cspi-bonobo.c: + (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref + as second parameter instead of NULL, so we can call + cspi_check_ev afterwards. + + * cspi/spi_main.c: + (cspi_object_take): New internal method, + converts a CORBA_Object reference to a hard ref on + an Accessible if possible, returning NULL if the object + reference is invalid or an Accessible * otherwise. + + * cspi/spi_event.c: + (AccessibleEvent_ref): + Increment the event's internal private refcount, and + add the event's internal struct to an internal cache + if it's not already there. + (AccessibleEvent_unref): + Decrement the event's refcount and remove it from + the cspi event cache if refcount==0. + (cspi_event_compare): New private method. + Compares two event structs via their ids. Used + for queue lookup. + (cspi_internal_event_lookup): New private method. + (cspi_internal_event_check): New private method, + a 0-order sanity check for events to make sure their + private data is intact. + (cspi_internal_event_add, cspi_internal_event_remove): + New private methods for managiing the event cache. + + * cspi/bonobo/cspi-bonobo-listener.c: + (cspi_event): + Initialize the new private data elements (id, magic, ref_count). + + * atk-bridge/bridge.c: + (spi_atk_bridge_signal_listener): + Fixed bug #100530, passing wrong params to emission func. + + * registryd/deviceeventcontroller.c: + (spi_dec_button_update_and_emit): + Fixed type in mask bit operations; fix for #99799. + +2002-12-02 Bill Haneman + + Removed some of the more dangerous workarounds from + previous commit; they are only needed by GOK, which + in reality should be using another method to accomplish + the goals. So on reconsideration some of the workarounds + need to be reverted: + + * registryd/deviceeventcontroller.c: + (spi_keycodes_contain, spi_dec_init_keycode_list): + Removed these methods, used only by a nasty hack to try + and detect whether a key synthesis should be allowed + to reset the XKB latch state or not. This code was only + required to work around an interaction between GOK, + button events, and XKB. + (impl_generate_key_event): + Removed hack at end of key generation that tried to + "do the right thing" if XKB latch keys were generated + in the midst of button press/release pairs. + + * configure.in: + Added a check for HAVE_XINPUT. Not normally used yet. + +2002-11-25 Bill Haneman + + Workarounds and fixes for mouse event/XKB interaction. + + * registryd/deviceeventcontroller.c: + (spi_keycodes_contain, spi_dec_init_keycode_list): + New internal methods. + (spi_dec_set_unlatch_pending): + Split the method that tells XKB to expect an + unlatch (and revert it) out of the rest of the + event handling code. This method is called by the + two mouse event handlers (the poll and the filter). + (spi_dec_update_and_emit, spi_dec_mouse_check): + New methods split from spi_dec_poll_mouse_moved. + The second one is now called from inside the filterFn + when an XKB delatch event is received, to determine + whether to revert the delatch or not. + (spi_poll_mouse_moved): Refactor; also we can now + properly handle the case where multiple button states + have changed between polling cycles and we didn't get + notified due to another client's grab. + (global_filter_fn): + Synchronize the server while handling an XKB notification. + Ugly, but apparently necessary to avoid nasty races. + Check the mouse state on receipt of an XKB latch change, + to decide whether to revert the latch or not. (Latches are + reverted if there is an immediately preceding mouse button + event that a client has consumed, in which case we don't want + the user to see the side-effect of the event). + (spi_device_event_controller_forward_mouse_event): + Check for modifier events and fire before resetting mouse_mask_state, + prevents losing modifier events. + + (impl_generate_keyboard_event): + If we've just generated a keyboard event for a non-shift key, + we don't want to revert the pending XKB latch. + Otherwise, check the modifier state (via a call to + spi_dev_mouse_check) and set the relatch mask to + that state before returning. + +2002-11-24 Bill Haneman + + * NEWS: + Updated NEWS (accidentally didn't make it into 1.1.5 tarball, + retagged). + + * atk-bridge/bridge.c: + (spi_atk_register_event_listeners): + Don't re-register for ATK events if the registry has died + and the app needs to re-register; the ATK listeners are in + process and doing so will cause duplicate emission. + + * registryd/deviceeventcontroller.c: + (spi_poll_mouse_moved): + Reformat the source, detect and emit multiple button-change + events (i.e. if multiple buttons have changed between poll + intervals). + Add code to detect mouse-down events even when the pointer + is grabbed; workaround for GOK bug 98420. + (spi_controller_register_with_devices): + Call XTestGrabControl with 'impervious' flag set to True, + allows us to synthesize events and query the pointer even during + an active grab by another client. + (spi_device_event_controller_forward_mouse_event): + Set the mouse_mask_state to the mouse_button_state from + the intercepted event, to synchronize the grab listener with + the poll state. + +2002-11-20 Bill Haneman + + * cspi/spi_accessible.c: + (AccessibleRole_getName): + Added necessary strings for making this (deprecated) + method work with the new role types. + (init_role_table, role_table): + Added definition of SPI_ROLE_APPLICATION. + + * libspi/spi-roletypes.h: + Added SPI_ROLE_APPLICATION. + + * idl/Accessibility_Role.idl: + Added ROLE_APPLICATION. + + * docs/reference/cspi/at-spi-cspi-decl.txt: + Added SPI_ROLE_APPLICATION to docs. + +2002-11-20 Padraig O'Briain + + * cspi/spi_accessible.c + (cspi_init_role_table): Do not write beyond end of role_table. + (Accessible_getRole): Use correct type for value returned by + Accessibility_Accessible_getRole(). + + * libspi/accessible.c (spi_init_role_lookup_table): Do not write + beyond end of role_table. (This fixes bug #98269) + + * libspi/application.c: Add include file spi-private.h for + definition of spi_init_any_nil. + +2002-11-19 Bill Haneman + + FIX for bug 99024. + + * libspi/spi-private.h: + Added DGB() macro, and extern int _dbg declaration. + + * registryd/registry.c: + (definitions) storage for _dbg. + (spi_registry_init): + Get environment variable "AT_SPI_DEBUG". + (spi_registry_set_debug): + New method, to initialize _dbg value. + (spi_listener_struct_new, spi_registry_object_finalize): + (notify_listeners_cb): + Changed fprintfs to use DBG and g_warning(). + + * registryd/deviceeventcontroller.c: + (_deregister_keygrab, spi_controller_register_device_listener): + Changed debug/warning messages to use DBG macro. + + * libspi/listener.c: + (impl_notify_event): + Changed warning messages to use DBG macro and g_warning(). + + * atk-bridge/bridge.c: + (atk_bridge_init, spi_atk_bridge_get_registry): + (spi_atk_bridge_exit_func): + (spi_atk_bridge_property_event_listener): + Changed status, warning, and error messages to use + g_warning, g_message, and DBG macros. + + (atk_bridge_init): + Read the state of the AT_SPI_DEBUG environment variable + and set a local '_dbg' accordingly. + +2002-11-19 Bill Haneman + + FIXES for 98836, 98842, other bugs. + + * configure.in: + Revved to 1.1.4, interface-age=4, binary-age=4. + + * registryd/deviceeventcontroller.c: + (statics): + Fixed crasher bug in last_mouse_pos initialization. + + * registryd/registry.c: + (desktop_add_application, desktop_remove_application): + Added (and then commented out) some support for + object context marshalling. [TODO] + + * atk-bridge/bridge.c: + (spi_atk_bridge_event_context_create): + Commented out object context creation until it can + be properly tested and debugged. + + * registryd/registry.c: + (impl_registry_notify_event): + Fixed crasher bug, we were calling + spi_re_entrant_list_foreach () with an empty list. + +2002-11-18 Bill Haneman + + * idl/Accessibility_Action.idl: + * idl/Accessibility_Component.idl: + * idl/Accessibility_Desktop.idl: + * idl/Accessibility_Event.idl: + * idl/Accessibility_Hyperlink.idl: + * idl/Accessibility_Image.idl: + * idl/Accessibility_Relation.idl: + * idl/Accessibility_Selection.idl: + * idl/Accessibility_State.idl: + * idl/Accessibility_Value.idl: + Updated unimplemented slot count to minimum of + four for all interfaces, for ABI freeze. + + * idl/Accessibility_EditableText.idl: + * idl/Accessibility_Text.idl: + Updated unimplemented slot count to six + for ABI freeze. + + * idl/Accessibility_Registry.idl: + Updated unimplemented slot count to six + (also for DeviceEventController), + for ABI freeze. + + * idl/Accessibility_Table.idl: + Updated unimplemented slot count to eight, + for ABI freeze. + + * idl/Accessibility_Event.idl: + Added CORBA_any "any_data" member to Event struct. + + * idl/Accessibility_Event.idl: + Added CORBA_any "any_data" member to Event struct. + + * atk-bridge/bridge.c: + (statics): + atk_signal_text_changed, atk_signal_child_changed, + signal ids queried from gtype system. + (AtkBridgeEventContextType): New enum. + (AtkBridgeEventContextData): New struct. + (AtkBridgeEventContext): New struct. + (atk_bridge_init_event_type_consts): + New method, initializes type contants for comparison + prior to emit_eventv. + (atk_bridge_event_context_init): New method, + initializes a CORBA_any from an AtkBridgeEventContext. + (atk_bridge_focus_tracker): Call spi_init_any_nil to + initialize the event.any_data struct. + (spi_atk_bridge_event_context_create): New method, + creates an AtkBridgeEventContext from signal/event info. + (spi_atk_bridge_event_context_free): New method. + (spi_atk_emit_eventv): Changed to take an + AtkBridgeEventContext parameter. We now initialize + the event.any_data member prior to notifying the + Registry, via the AtkBridgeEventContext. + (spi_atk_bridge_property_event_listener): + (spi_atk_bridge_state_event_listener): + Match emit_eventv signature. + (spi_atk_bridge_object_event_listener): + Match emit_eventv signature, and create an + event context from the event details. + Free the event context afterwards. + (spi_atk_bridge_window_event_listener): + Create an event context, pass it to the + emit_eventv call. + + * cspi/spi_event.c: + (AccessibleEvent_getContextString): + (AccessibleEvent_getContextObject): + New methods, allow query of AccessibleEvent objects + for more context details (via the "any_data" member + of the Event struct, above). + + * cspi/spi.h: + Definitions for AccessibleEvent_getContextString + and AccessibleEvent_getContextObject. + + * cspi/spi_listener.h: + (InternalEvent): New struct. + + * cspi/spi_event.c: + (AccessibleEvent_getContextString): + (AccessibleEvent_getContextObject): + Implementations of new methods, for obtaining + additional context information from some event types. + + * cspi/spi_registry.c: + (SPI_registerGlobalEventListener): + Added mention of active-descendant-changed event in docs. + + * cspi/cspi-bonobo-listener.c: + (cspi_event): + Marshal the any into the AccessibleEvent via + InternalEvent. + + * libspi/spi-private.h: + #include + (spi_init_any_nil): + (spi_init_any_string): + (spi_init_any_object): + New convenience function declarations. + + * libspi/util.c: + (spi_init_any_nil): + (spi_init_any_string): + (spi_init_any_object): + New convenience function implementations. + + * registryd/deviceeventcontroller.c: + (spi_poll_dec_mouse_moved): + (spi_device_event_controller_forward_mous_event): + Initialize any_data member of event. + (spi_deregister_controller_device_listener): + Fix incorrect param pass which was preventing deregistration. + + * registryd/registry.c: + (desktop_add_application): + (desktop_remove_application): + Add object data to event's any_data before dispatch. + (parse_event_type): + Fix for error messages from GAIL. + + * test/event-listener-test.c: + Test new ContextString and "any_data" API: + (report_text_event): New method query and output context string. + (main): register a new text listener with report_text_event + callback. + +2002-11-19 Darren Kenny + + Fixes for bugs 98127 and 97914. + * cspi/spi-roletypes.h: + Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH, + SPI_ROLE_RULER + * cspi/spi-statetypes.h: + Added SPI_STATE_MANAGES_DESCENDANTS + * cspi/spi.h: + Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM, + SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY + * cspi/spi_accessible.c: + Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_* + Added mapping from SPI_STATE_MANAGES_DESCENDANTS to + Accessibility_STATE_MANAGES_DESCENDANTS + * libspi/accessible.c: + Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to + Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} + As requested by Bill, I also cleaned up the alignment. + * libspi/relation.c: + Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF, + EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_* + * libspi/stateset.c: + Added mappings between ATK_STATE_MANAGES_DESCENDANTS and + Accessibility_STATE_MANAGES_DESCENDANTS + * docs/reference/cspi/tmpl/spi_accessible.sgml: + Document changes reflecting modifications to roles. + * docs/reference/cspi/tmpl/spi_relation.sgml: + Document changes reflecting modifications to relations. + * docs/reference/cspi/tmpl/spi_stateset.sgml: + Document changes reflecting modifications to states. + +2002-11-17 Bill Haneman + + * configure.in: + Revved to 1.1.3, interface-age=3, binary-age=3. + Added REBUILD macro. + + * test/Makefile.am: + Removed accessx-gui from the tests, since we have a nice + keyboard accessibility capplet now :-) + + * test/keysynth-demo.c: + (increment_scan): removed do-nothing default: case, + silences warning. + + * test/visual-bell.c: + (main) : removed do-nothing default: case, + silences warning. + + * cspi/spi_action.c: + (AccessibleAction_getKeyBinding_): + Documented keybinding string format. + FIX for bug 97916. + + * cspi/spi_text.c: + (AccessibleText_getAttributes): + Documented the text attribute string format. + It's changed to use semicolon delimiters also, + to prevent clashes with CSS attributes, but the old + trick of looking for ", " strings will still work + (as unreliably as ever). Fix for bug related to 97916. + + * cspi/spi_event.c: + Include + Fixes build warning. + (SPI_freeAccessibleKeySet): + (AccessibleKeystrokeListener_addCallback): + (AccessibleKeystrokeListener_removeCallback): + Modify to use AccessibleDeviceListener API internally, + instead of AccessibleKeystrokeListener. + + * idl/Accessibility_Event.idl: + Added two more empty slots to EventListener (for a total of four). + + * idl/Accessibility_Accessible.idl: + Added four empty slots to Accessible interface. + +2002-11-15 Bill Haneman + + * idl/Accessibility_Registry.idl: + (KeyEventType, EventType): + Marked KeyEventType as deprecated; it duplicates + functionality of EventType, which has been extended to + include Mouse-button events. + (KeyEventTypeSeq): defined in terms of EventType. + (registerDeviceEventListener, deregisterDeviceEventListener): + New methods, for managing listeners to device events, + which potentially may consume them. + + * cspi/spi-impl.h: + Added definition for AccessibleDeviceListener. + + * cspi/spi-listener.h: + (enum AccessibleDeviceEventType): + Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED. + Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType + for backwards compat. + (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent, + and typedef'd AccessibleKeystroke to it for back-compat. + (AccessibleDeviceListenerCB): + New function prototype typedef. + + * cspi/spi.h: + (AccessibleDeviceEventMask): New typedef. + (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType). + (AccessibleKeyMaskType): + Set equivalent to AccessibleModifierMaskType for back-compat. + (SPI_createAccessibleKeystrokeListener): + (AccessibleKeystrokeListener_unref): + Deprecated in favor of equivalent (better-named) new API below.. + keystroke listeners are like all device listeners. + (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref) + New API names for old features :-). + (AccessibleDeviceListener_addCallback): + (AccessibleDeviceListener_removeCallback): + (SPI_registerDeviceEventListener): + (SPI_deregisterDeviceEventListener): + New methods. + + * cspi/spi_event.c: + (SPI_createAccessibleKeystrokeListener): + Use new preferred API, cspi_device_listener_new() and + cspi_device_listener_add_cb(). + (AccessibleKeystrokeListener_removeCallback): + Use new preferred API, cspi_device_listener_remove_cb(). + (AccessibleKeystrokeListener_unref): + Use new preferred API, cspi_device_listener_unref(). + (SPI_createAccessibleDeviceListener): + (AccessibleDeviceListener_addCallback): + (AccessibleDeviceListener_removeCallback): + Implementation of new API. + + * cspi/spi_registry.c: + (SPI_registerDeviceEventListener): + (SPI_deregisterDeviceEventListener): + Implementation of new API. Fixed memory leak and removed need to + allocate EventTypeSeq (thanks Michael for catching this). + Squashed a wayward CORBA_exception_free that shouldn't get called. + + * cspi/bonobo/cspi-bonobo-listener.c: + (EventHandler): + Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB. + (cspi_key_event): renamed to cspi_device_event(). + Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener. + Extended to handle mouse button events as well as key events. + (CSpiKeystrokeListener): + Class superceded by CSpiDeviceListener. + (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba): + These internal APIs changed to "*device_listener" from "*keystroke_listener". + + * cspi/bonobo/cspi-bonobo-listener.h: + (CSpiKeystrokeListener): + Class superceded by CSpiDeviceListener. + (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba): + These internal APIs changed to "*device_listener" from "*keystroke_listener". + + * libspi/Makefile.am: + Replaced keystrokelistener.h and keystrokelistener.c + with devicelistener.h and devicelistener.c; keystrokelisener.h + stub retained for back-compat. + + * libspi/keystrokelistener.c: + Removed file. + + * libspi/libspi.h: + Replaced inclusion of keystrokelistener.h with devicelistener.h. + + * registryd/deviceeventcontroller.c: + (DEControllerListener): Added Accessibility_EventTypeSeq member. + (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member. + (DEControllerPrivateData): Added xkb settings data. + (spi_dec_poll_mouse_moved): Changed to dispatch device events for + button release events (which can't be captured via XGrabButton). + Don't dispatch via the 'normal' event mechanism if the device event was + consumed. + (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free): + Handle the typeseq data in its new location (see above). + (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free): + New methods, for "generic" device listeners. + (spi_controller_register_device_listener): + Now handle mouse event listeners as well as key listeners. + (spi_controller_notify_mouselisteners): + New internal method. + (spi_device_event_controller_forward_mouse_event): + Now we notify mouse device listeners as well as generating the + non-consumable "mouse:" events. + (global_filter_fn): + We must check and restore the XKB + modifier map if we consume the event, since the act of triggering + a mouse event will normally reset the XKB latch. This is required for + instance by GOK. + (spi_controller_register_with_devices): + Load the XKB settings when registering, and register for XKB + state notify events. + (spi_key_eventtype_seq_contains_event): + Renamed spi_eventtype_seq_contains_event, since it's used + internally for all device event types now. + (spi_key_event_matches_listener): + Uses spi_eventtype_seq_contains_event now. + (spi_device_event_controller_object_finalize): + Free the private data and the XkbKeyboard struct. + (impl_register_device_listener, impl_deregister_device_listener): + Implementation of new IDL. + (spi_deregister_controller_device_listener): + New internal method. + (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay): + More efficient implementation, we don't have to create a new + XkbControls structure every time we query. + (spi_device_event_controller_class_init): + Initialize the epv entries for the new IDL. Assign the + "spi-dec-private" quark. + (spi_device_event_controller_init): + Initialize the private data. + (spi_device_event_controller_forward_key_event): + Removed a bogus CORBA_exception_free() call. + + * registryd/deviceeventcontroller.h: + Replaced inclusion of keystrokelistener.h with + devicelistener.h. + + * test/event-listener-test.c: + (report_mouse_event): + New method. + (main): + Added mouse-event device listener. + + * test/test-simple.c: + (create_test_window): + Fixed regression (we were instantiating a GtkRange, + which is now an abstract class). Also fixed to match + existing AtkRole names, this seems to have changed in ATK + awhile ago; too late now I think, and the new + mechanism is at least elegant and consistent with the + glib enum "nick" APIs. + +2002-11-15 Darren Kenny + + * idl/Accessibility_Relation.idl: + add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF, + RELATION_EMBEDS,RELATION_EMBEDDED_BY + * idl/Accessibility_Role.idl: + add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER + * idl/Accessibility_State.idl: + add STATE_MANAGES_DESCENDANTS + * test/event-listener-test.c: + Added a listener for active-descendant events. + +2002-11-15 Padraig O'Briain + + * atk-bridge/bridge.c + (atk_bridge_init): If application is Bonobo component wait until top + level is added before registering + (spi_atk_bridge_do_registration): New function which contains code, + formerly in atk_bridge_init, to do application registration. + (spi_atk_bridge_toplevel_added): Signal called when top level + added to Bonobo component + + This fixes bug #83134. + +2002-10-23 Vitaly Tishkov + + * registryd/deviceeventcontroller.c + Fixed compilation error caused by calling gettimeofday() + with 1 parameter + +2002-10-18 Bill Haneman + + BUGFIX for #95828. + + * acconfig.h: + Added template for HAVE_XKB. + + * configure.in: + Changes to check for XKB, and to set the HAVE_XKB #define if it + is available. + + * libspi/listener.c: + ()impl_notify_event): Make failure to get event source name + nonfatal. + + * registryd/deviceeventcontroller.c: + (#include): include X11/XKBlib.h. + (DEControllerPrivateData) : New struct. + (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) : + New methods. + (dec_synth_keycode_press) (dec_synth_keycode_release): + New methods; split the key synthesis code into these methods. + They check XKB settings before determining the "time" values to + pass to Xtest; this fixes bug #95828. + (impl_generate_keyboard_event): Changed to use methods above, + instead of callng Xtest directly. + (spi_device_event_controller_init): Initialize new privae struct s + above. + (spi_device_event_controllr_object_finalize): + Free the (new) private data. + + * registryd/deviceeventcontroller.h: + Add new gpointer to end of struct data. + +2002-10-16 Bill Haneman + + * configure.in: + Incremented revision to 1.1.2, SONAME is still '.so', library + extensions are ".so.0.0.2". + + * registryd/deviceeventcontroller.c: + FIXES FOR #93592 and #95940. + (statics): renamed mouse_button_state to mouse_mask_state, + added key_modifier_mask. + (spi_dec_poll_mouse_moved): + Added key modifier checks, and emit "keyboard:modifiers" + events when the key modifiers currently in use change. + Also generate "mouse:abs" events periodically, even if the mouse + is stationary (should we?). + Alternatively we could generate "mouse:abs" events for either all + mouse movements, or every 'nth' mouse movement, or at the + beginning and end of every "active" mouse period. + + * test/event-listener-test.c: + (main): Added listener for "keyboard:modifiers" events. + +2002-10-15 Bill Haneman + + * libspi/keymasks.h: + Added key mask #defines for mouse buttons; e.g. + SPI_KEYMASK_BUTTON1, etc. + + * configure.in: + Incremented dependency on ATK to version 1.1.0. (This dependency + is probably premature but will soon be real enough). + +2002-10-11 Padraig O'Briain + + * libspi/hyperlink.[ch] + (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink. + (get_hyperlink_from_servant): Check object is AtkHyperlink not + AtkObject. + + * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to + AtkObject. + + Fixes bug #95517. + +2002-10-10 Padraig O'Briain + + * registryd/deviceeventcontroller.c + (global_filter_fn): Correct typo which caused KeyPress and KeyRelease + events to be ignored. + (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode + keyboard_mode so that XAllowEvents() can be called. + + Fixes bug #93658. + +2002-10-08 Padraig O'Briain + + * cspi/spi-accessible.c: Correct names of roles returned by + AccessibleRole_getName(). Fixes bug #95055. + +2002-10-03 Padraig O'Briain + + * cspi/spi_main.c (report_leaked_ref): Report address of leaked + object. + + * registryd/registry.c + (desktop_remove_application: Write diagnostic message to stderr for + consistency. + + (impl_accessibility_registry_deregister_global_event_listener): + Correct size of lists array. This addresses bug #94555). + +2002-09-24 Padraig O'Briain + + * libspi/accessible.c (spi_init_role_lookup_table): Correct typos + in some role names. + +2002-09-19 Padraig O'Briain + + * registryd/Makefile: Add CLEANFILES so that .server file is removed + on make clean + + * registryd/registry.c (impl_registry_notify_event): Remove + unnecessary call to parser_event_type(). + + * docs/reference/cspi/tmpl/spi_component.sgml: + Add reference to SPI_LAYER_WINDOW. + +2002-09-17 Padraig O'Briain + + * registryd/registry.c + (desktop_add_application): Remove leak. + (desktop_remove_application): Remove leak. + (parser_event_type): Remove leak. + +2002-09-16 Padraig O'Briain + + * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed + bogus call to CORBA_string_dup(). Also removed unnecessary + g_string_dup/g_free calls. + +2002-09-13 Bill Haneman + + * registryd/deviceeventcontroller.c: + spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks. + + * test/event-listener-test.c: + main: commented out three redundant listeners, to reduce output + noise. (They still are potentially useful for testing). + + +2002-09-13 Michael Meeks + + * Update all the copyrights to include Ximian. + +2002-09-06 Mark McLoughlin + + * cspi/spi.h: add SPI_LAYER_WINDOW. + + * cspi/spi_component.c: (AccessibleComponent_getLayer): + add Accessibility_LAYER_WINDOW case. + + * idl/Accessibility_Component.idl: add LAYER_WINDOW. + + * libspi/component.c: (impl_accessibility_component_get_layer): + add ATK_LAYER_WINDOW case. + +2002-08-28 Bill Haneman + + * configure.in: incremented micro version. + + * branched for gnome-2-0 (a gnome-2-0-0 branch already exists). + +2002-08-20 Bill Haneman + + * HACKING: + Clarified and reworded our commit policy. + + * NEWS: + Started an API "todo" addition list for 2.2. + + * libspi/text.c: + (impl_getSelection): + Free char pointer from atk_text_get_selection, which was being leaked. + +2002-08-19 Bill Haneman + + * AUTHORS: + Small revision to author acknowledgement. + +2002-08-19 Padraig O'Briain + + * atk-bridge/bridge.c (spi_atk_bridge_signal_listener): + If signal has detail add it to the type of the event. + (bug #90838) + +2002-08-12 Michael Meeks + + * test/test-simple.c (global_listener_cb): bin bogosity. + (test_keylisteners): disable, still doesn't work reliably, + certainly not on my system anyway. + + * atk-bridge/bridge.c (spi_atk_bridge_key_listener): + don't leak a reference on the DEC. This round-trip + fetching of the DEC per keystroke sucks, it should be + cached. + + * cspi/spi-private.h, + * cspi/cspi-lowlevel.h, + * cspi/bonobo/cspi-bonobo-listener.[ch], + * cspi/bonobo/cspi-bonobo.c: get the copyright + notices better - there is still a large amount of + work in at-spi falsely attributed solely to Sun. + + * cspi/spi_main.c (cspi_object_ref): kill bogus + hash lookup, just increment the ref. + (SPI_freeString): make explicit the fact that we + handle NULL strings just fine. + (report_leaked_ref): obey coding standards. + (cspi_object_hash, cspi_object_equal): kill retval. + (cspi_object_release): only release if not on loan. + (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'. + (cspi_object_borrow, cspi_object_return): impl. + + * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): + use cspi_object_borrow / return. + +2002-08-12 Darren Kenny + + * cspi/bonobo/cspi-bonobo-listener.c: + (cspi_event): + Don't call cspi_oject_new() because this is creating a new Accessible + every single time that an event is fired. This causes ATs like at-poke + to nolonger recognise the source of the event and thus ignore it. + Re-use the object from the cache, ref it and then unref it after the + listeners have been called. + +2002-08-06 Darren Kenny + + * test/event-listener-test.c: + Added command-line options to disable mouse events (m) and + show usage (h). + +2002-07-31 Padraig O'Briain + + * configure.in: Update required versions of ATK, GTK+ and GAIL + + * cspi-1.0.pc.in: Add dependency for X include files + + * cspi/Makefile.am: + * cspi/bonobo/Makefile.am: + Add $(X_CFLAGS) so that X include files + are picked up even if not in standard place (bug #71686) + +2002-06-25 Bill Haneman + + * registryd/deviceeventcontroller.c: fix for 84261 + (spi_dec_mouse_moved): + Added test of mouse button mask, so that we can detect mouse + button release. Unfortunately we can't otherwise detect mouse + button release events without consuming the mouse press event, + because of the way XGrabButton works. This means that our mouse + release events have a latency dependent on the polling period + while the mouse button is down. At least in this case we only + have to poll while the button is down, and not at other times. + If the button masks don't match with what the last press event + reported, we report the appropriate button release event. + (spi_dec_ungrab_mouse): + New method (not yet called). + (spi_device_event_controller_forward_mouse_event): + New method, sends mouse press event from GdkFilter. + (spi_dec_init_mouse_listener): + Added code to call XGrabButton, redirecting mouse button events to + the root window and our Gdk event loop. + (global_filter_fn): + Added code to filter mouse button events, and reordered. + + * test/event-listener-test.c: + (main): + Added registration for mouse events of type "mouse:button". + +2002-06-25 Bill Haneman + + * registryd/deviceeventcontroller.c: partial fix for 84261 + (spi_dec_poll_mouse_idle): + New method, a timeout which checks to see if the mouse + has moved. + (spi_dec_poll_mouse_moving): + A timeout to be called when mouse motion is underway. + (spi_dec_poll_mouse_moved): + A method which fires an event if the mouse has moved, and reports + whether or not it did so. + (spi_dec_init_mouse_listener): + A method which sets up the timeouts above. + (spi_device_event_controller_new): + Now calls spi_dec_init_mouse_listener. + + * registryd/registry.c: + (spi_registry_init): + Now we initialize the device event controller when the registry is + initialized, instead of waiting until a client has requested a key + event notification; this is because we need the event controller + for mouse events, but the mouse event registration API is a + "registry" call and doesn't explicitly call the + deviceeventcontroller. + We now report mouse motion events with a 100 ms idle latency and + a 20 ms granularity when motion is in progress. + + * test/event-listener-test.c: + (main): + We now register the "detail listener" for events of type + "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are + delivered only for the first mouse event received, and thereafter + "mouse:abs" events are delivered.) + + * cspi/spi_registry.c: + DOCS: Documented the above mouse event typestrings. + +2002-06-21 Bill Haneman + + Happy Summer Solstice... + + * registryd/deviceeventcontroller.c: [fix for bug 84100] + (spi_controller_notify_keylisteners): + Changes to remove a listener from the listener list, freeing its + open keygrabs, if a notification to that listener fails. This + means that although a dead listener can continue to hold a passive + keygrab, a maximum of one dispatch to such a listener can fail + before the listener is removed from the list, thus the keygrab + will be released on the next occurrence. + As part of this fix: + (spi_notify_keylisteners): + Renamed to spi_controller_notify_keylisteners, as the controller + instance must now be passed as an argument. + The copied 'notify' GList is now a list of DEControllerKeyListener + objects, since we need more than just the CORBA reference if a + notify fails and we need to deregister the listener. + (impl_notify_listeners_sync): + (impl_notify_listeners_async): + (spi_device_event_controller_forward_key_event): + Modify use of notify_keylisteners in accordance with above + changes. + (spi_deregister_controller_key_listener): + New method introduced by refactoring, from + impl_deregister_keystroke_listener. + (impl_deregister_keystroke_listener): + Call spi_deregister_controller_key_listener. + (spi_key_listener_clone): + New method to copy a key listner without doing a 'ref' on the + remote object instance; used to create a notifier list. + (spi_key_listener_data_free): + New method, frees data without unreffing the source. + Used in refactor. + (spi_key_listener_clone_free): new method. + (spi_key_listener_free): + refactored to call spi_key_listener_data_free. + +2002-06-20 Bill Haneman + + * registryd/registry.c: [fix for bug 86048] + (notify_listeners_cb): + Clear CORBA system exceptions which occur when notifying + listeners, before returning to the source of the original event, + since the event source doesn't care if the relayed notify failed. + In other words, don't complain to the atk-bridge if the registry + could not notify all its listeners, that's no fault of the + application and thus should not appear to be an error from the + application's perspective. + + * cspi/spi_main.c: [fix for bug 85980] + (cspi_object_ref): + Replaced use of bonobo_object_dup_ref with call to the wrapper + method, csou_dup_ref (); this silences a compiler warning and + provided more portability. + (cspi_registry): + Ping the registry before return, and restart if necessary. + + * cspi/bonobo/cspi-bonobo.c: + (cspi_ping): + New internal method. + (cspi_dup_ref): + Fixed this method to return an object reference, as it should have + all along. + + * cspi/cspi-lowlevel.h: + Added internal definition for cspi_ping() and fixed + return type of cspi_dup_ref(). + + +2002-06-19 Bill Haneman + + * atk-bridge/bridge.c: [fix for bug 85305] + (spi_atk_bridge_register_application): + New method where the initial application registry calls have been + moved; it allows an application to re-register in response to + certain error conditions (such as a registry restart, see below). + (atk_bridge_init): + Moved some initialization code to the method + spi_atk_bridge_get_registry, below. + (spi_atk_bridge_get_registry): + New, private accessor function for the Accessibility_Registry + instance. If the registry has not been started before, or has + died (as detected by failure of a CORBA exception), it is + restarted before return, and spi_atk_bridge_register_application + is called again to register with the new bridge instance. + (spi_atk_emit_eventv): + Set registry_died on error; use spi_atk_bridge_get_registry () to + access the registry. + + * registryd/registry.c: + (impl_accessibility_registry_register_global_event_listener): + Set listener's event_type_quark to etype.minor instead of + etype.major (fix for bug 84856). + + * test/event-listener-test.c: + (report_detail_event): + Change the output string so that user/tester can tell that the + 'detail listener' was called instead of the 'generic listener'. + +2002-06-18 Bill Haneman + + 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 + + * 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 + + (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 + + * 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 + + * 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 + + * 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 + + 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 + + * 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 + + * registryd/Makefile.am (EXTRA_DIST): dist the .in.in + +2002-05-29 Bill Haneman + + * 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 + + * 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 + + * 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 + + * 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 + + * test/screen-review-test.c: Fix crashes in debug statements + +2002-05-20 Bill Haneman + + * test/screen-review-test.c: Added this file. + +2002-05-13 Marc Mulcahy + + * atk-bridge/bridge.c: changed "object:state-change" to + "object:state-changed" to match docs. + +2002-05-13 Marc Mulcahy + + * atk-bridge/bridge.c: Hooked up state-change event details. + +2002-05-11 Bill Haneman + + * registryd/registry.c: + Fixed quarking bug in event string parsing; now events with + detail parameters get matched correctly to listeners. + [Bugzilla 80608]. + + * util/idl/Magnifier.idl: remove. + * util/idl: remove + * util/*.[ch]: Remove. + Magnification utilities and IDL are now in module gnome-mag. + +2002-05-10 Bill Haneman + + * registryd/deviceeventcontroller.c: + Fixed bug in grab key conversion which was causing keycode grabs + to be converted to AnyKey grabs. + + * NEWS: + updated NEWS file to reflect recent spin-off of gnome-mag. + +2002-05-09 Marc Mulcahy + + * cspi/spi_accessible.c: Added exception checks. Fixed completely + busted AccessibleStateSet_compare. Removed redundant casts. + + * cspi/spi-action.c: Removed redundant casts. + + * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion. + + * cspi/spi_component.c: Fixed typos and casting error. + + * cspi/spi_editabletext.c: Removed redundant casts. + + * cspi/spi_hyperlink.c: Fixed casting and exception checking. + + * cspi/spi_hypertext.c: Eliminated redundant casts. + + * cspi/spi_image.c: Eliminated redundant casts. + + * cspi/spi_registry.c: Eliminated redundant casts. + SPI_deregisterGlobalEventListenerAll () removed retval variable. + * cspi/spi_selection.c: Removed redundant casts. + * cspi/spi_text.c: Eliminated redundant casts. Fixed exception + handling. Screen geometry and text offsets were being returned as 0 + on error which is technically valid-- changed these to return -1. + Added marshaller for text boundary types to fix bug with boundary + types being passed incorrectly to atk. + +2002-05-09 Bill Haneman + + + * cspi/spi_registry.c: + Fixed nasty bug in SPI_registerAccessibleKeystrokeListener + which was uncovered by the recent key changes. + +2002-05-09 Bill Haneman + + * test/event-listener-test.c: + * test/Makefile.am: + Added new test, "event-listener-test"; + this code does two things; it benchmarks traversal time + for the accessible hierarchy for the first running accessible + app, and it connects listeners for all supported event types. + It is thus useful as an example event listener and for + diagnostics/debugging of event generation. + +2002-05-08 Bill Haneman + + * test/Makefile.am: + Removed unnecessary dependency on libutil. + + * configure.in: + Revved micro version: 0.13.1 + +2002-05-08 Bill Haneman + + * configure.in: + Removed util/Makefile from targets. + + * Makefile.am: + Removed util subdir from SUBDIRS (temporarily, + pending removal of magnifier-only code + from UTIL). + + * test/simple-at.c: + #ifdef-ed out magnifier dependencies, since + magnifier IDL, headers, and binary now live in + module gnome-mag and we don't want at-spi to depend + on gnome-mag. A magnifier demo which can run alongside + simple-at is forthcoming in the gnome-mag module. + + NOTE: Split magnifier binary, IDL, and magnification + activation code from at-spi into module gnome-mag. + +2002-05-03 Marc Mulcahy + + * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c + cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice. + +2002-05-03 Bill Haneman + + * configure.in: + Revved to version 0.13.0 + + * idl/Accessibility_Registry.idl: + Changed definition of KeySet from sequence of longs to sequence of + KeyDefinitions, and added KeyDefinition struct. + Required for fix to bug 80616. + + * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener(): + Changed AccessibleKeySet to Accessibility_KeySet marshalling code + to use new definition (see above). + + * registryd/deviceeventcontroller.c: handle_keygrab(), + spi_keyset_contains_key(): + Changed to make use of new struct; this allows matching based on + string key-name, for instance "Tab". This also allows matching of + composed characters, non-alphanumeric characters in a way that + doesn't involve dependencies on X keysym codes directly, etc. + + * test/key-listener-test.c: + Added test for Alt-Tab key using "string" specification of keyset, + and modified one of the tests to use a keycode-based keyset. + Thus this test both tests and demonstrates the creation and use of + keysets of three forms: specified via keycode array, + keysym array, and string array. (The string case only contains a + single string, i.e. a string array of length 1). + + * test/simple-at.c: + Turned on PRINT_TREE option by default. Also fixed a + string-freeing bug in the PRINT_TREE code. + Added a listener to window:minimize events. + +2002-05-08 Padraig O'Briain + + * atk-bridge/bridge.c: + (spi_atk_register_event_listeners) Call atk_add_global_event_listener() + for window:activate and window:deactiveate + (atk_bridge_property_event_listener atk_bridge_signal_listener + atk_bridge_window_event_listener) Tidy debug code + +2002-05-02 Marc Mulcahy + + * libspi/accessible.c (impl_accessibility_accessible_get_role_name): + Fixed handling for NULL return value from ATK. + + * libspi/action.c libspi/component.c libspi/editabletext. + libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c + libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c: + Removed redundant casts. + + * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns): + Fixed off by one bug. + + *libspi/text.c: removed impl_getRowColAtOffset (unimplemented + function not present in idl) + +2002-05-02 jacob berkman + + * atk-bridge/Makefile.am: make atk-bridge a real module + +2002-04-26 Radek Doulik + + * libspi/stateset.c (spi_init_state_type_tables): fix size of + atk_state_types table + +2002-04-22 jacob berkman + + * util/Makefile.am: + * libspi/Makefile.am: add deps on the built files to help + automake, and don't version the ORBit typelib + +2002-04-19 Padraig O'Briain + + * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h + cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h + cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c + cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c + cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c + cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c + cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c + libspi/accessible.h libspi/accessible.h libspi/base.h + libspi/component.h libspi/editabletext.h libspi/hyperlink.h + libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h + libspi/relation.h libspi/remoteobject.h libspi/selection.h + libspi/spi-private.h libspi/statetset.h libspi/table.h + libspi/text.h libspi/util.h libspi/value.h util/mag_client.c + util/mag_client.h util/mag_control.c util/mag_image.c + util/mag_image.h util/magnifier.c util/magnifier.h: + Add missing file headers; standardize existing ones + +2002-04-18 Marc Mulcahy + + * atk-bridge/bridge.c: Added window event support. + +2002-04-18 Michael Meeks + + * libspi/relation.c (impl_getNTargets): impl. + (impl_getTarget): impl. + + * libspi/Makefile.am: fix stateset install. + 2002-04-17 Bill Haneman + * NEWS: + Started putting useful info in this file. + +2002-04-17 Marc Mulcahy + + * atk-bridge/bridge.c: + Propagate state-changed notifications to ATs + + * cspi/spi_registry.c: update docs to reflect actual behavior of + state-change events. + +2002-04-17 Bill Haneman + + * configure.in: + Incremented version to 0.12.1 + * util/mag_client.h: Add missing declaration for magnifier_exit, used by mag_control.c - Forte compiler didn't like the implicit redeclaration of the function :-( + 2002-04-16 Bill Haneman * configure.in: @@ -2292,7 +4098,7 @@ * cspi/*.h: add G_BEGIN/END_DECLS -2001-22-11 Bill Haneman +2001-11-22 Bill Haneman * test/simple-at.c: Added non-preemptive keylistener for key events with no modifiers @@ -2310,7 +4116,7 @@ for non-preemptive key masks. -2001-22-11 Bill Haneman +2001-11-22 Bill Haneman * docs/reference/idl/at-spi-idl-docs.sgml: * docs/reference/idl/at-spi-idl-sections.txt: @@ -2326,7 +4132,7 @@ * docs/idl: Added .cvsignore files. -2001-21-11 Bill Haneman +2001-11-21 Bill Haneman * libspi/deviceeventcontroller.c: * libspi/keystrokelistener.c: @@ -2336,7 +4142,7 @@ event dispatching, so listeners should only receive those events that they requested :-) -2001-21-11 Bill Haneman +2001-11-21 Bill Haneman * configure.in: * docs/Makefile.am: @@ -2368,7 +4174,7 @@ * libspi/base.[ch]: add. -2001-18-11 Bill Haneman +2001-11-18 Bill Haneman * idl/Accessible.idl: * idl/Application.idl: @@ -2406,7 +4212,7 @@ Solaris build problem. -2001-20-11 Michael Meeks +2001-11-20 Michael Meeks * libspi/registry.c (impl_accessibility_registry_deregister_global_event_listener): @@ -2423,7 +4229,7 @@ * libspi/application.h: kill unused ( and whacked out ) gboolean *spi_application_set_id (AtkObject *app, long id); -2001-20-11 Michael Meeks +2001-11-20 Michael Meeks * libspi/*.[ch]: further convert to bonobo's type func macros, remove redundnant casts etc. @@ -2440,7 +4246,7 @@ * */.cvsignore: update -2001-20-11 Michael Meeks +2001-11-20 Michael Meeks * libspi/deviceeventcontroller.c (_controller_register_with_devices): use g_getenv, @@ -2455,7 +4261,7 @@ * libspi/*.[ch]: more headers, includes and over commenting. -2001-20-11 Michael Meeks +2001-11-20 Michael Meeks * libspi/*.[ch]: fixup headers, includes and over commenting. @@ -2467,7 +4273,7 @@ * libspi/libspi.h: add. -2001-19-11 Michael Meeks +2001-11-19 Michael Meeks * libspi/editabletext.c (impl_setAttributes): fix warnings. @@ -2490,7 +4296,7 @@ * libspi/accessible.c (impl_accessibility_accessible_get_relation_set): warning fixes. -2001-18-11 Bill Haneman +2001-11-18 Bill Haneman * libspi/spi_accessible.c: Added docs and C bindings for AccessibleStateSet. (No implementations yet). Documentation @@ -2555,7 +4361,7 @@ object:column-deleted object:model-changed -2001-16-11 Bill Haneman +2001-11-16 Bill Haneman * libspi/hyperlink.c,h: Fixed some broken stuff in hyperlink. @@ -2579,7 +4385,7 @@ Doc coverage now 95%. -2001-16-11 Bill Haneman +2001-11-16 Bill Haneman One last namespacing revision: * libspi/accessibleeventlistener.[ch]: @@ -2633,7 +4439,7 @@ AccessibleTable AccessibleHyperlink -2001-14-11 Bill Haneman +2001-11-14 Bill Haneman * at-bridge/bridge.c: Initial work for toolkit-level key snooper connection by bridge. @@ -2690,7 +4496,7 @@ libraries. (Incompletely tested for technical reasons, fixes may follow) -2001-13-11 Michael Meeks +2001-11-13 Michael Meeks * libspi/application.c (impl_accessibility_application_get_version), @@ -2709,14 +4515,14 @@ (impl_accessibility_accessible_get_relation_set): warning fixes & include action.h -2001-13-11 Michael Meeks +2001-11-13 Michael Meeks * *.[ch] fix bits I screwed up: s/([^ \tb(\*\&\?\",])spi_/\1/g; s/([^ \tb(\*\&\?\",])Spi/\1/g; -2001-13-11 Michael Meeks +2001-11-13 Michael Meeks * *.[ch] Namespace libspi into spi_ and Spi. @@ -2732,7 +4538,7 @@ * configure.in: build it. -2001-12-11 Bill Haneman +2001-11-12 Bill Haneman * test/keysynth-demo.c: Use a 'realize' signal-handler to set the WM properties for @@ -2822,11 +4628,11 @@ * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0 -<2001-10-26 Laszlo Peter +2001-10-26 Laszlo Peter * at-bridge/Makefile.am: fix LDFLAGS. -<2001-10-09 Bill Haneman +2001-10-09 Bill Haneman * at-bridge/bridge.c: Re-worked listeners for toolkit events, now we have signal @@ -2885,20 +4691,20 @@ bonobo_object_corba_objref (bonobo_object(o)) to BONOBO_OBJREF(o), for concision and clarity. -<2001-10-13 Louise Miller +2001-10-13 Louise Miller * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl, idl/Event.idl, idl/Registry.idl Changed these files to include Bonobo_Unknown.idl instead of Bonobo.idl -<2001-09-10 Marc Mulcahy +2001-10-09 Bill Haneman * idl/Accessible.idl: Added 'isEqual (Accessible *object)' @@ -2937,7 +4743,7 @@ CORBA_unsigned_long, to allow for 32-bit characters. -<2001-10-08 Bill Haneman +2001-10-08 Bill Haneman * util/Makefile.am: * idl/Makefile.am: @@ -2999,19 +4805,19 @@ Changed the default magnifier type to be a 3x vertical splitscreen magnifier (was previously a 2x horizontal one). -<2001-10-03 Bill Haneman +2001-10-03 Bill Haneman * libspi/keystrokelistener.h: * libspi/keystrokelistener.c: Initial functional implementations of KeystrokeListener. * idl/Registry.idl: -<2001-10-05 Marc Mulcahy +2001-10-05 Marc Mulcahy Fixed string handling for NULL strings in libspi. Added spi_freeString to free strings returned by C bindings. -<2001-09-30 Bill Haneman +2001-09-30 Bill Haneman * libspi/keystrokelistener.h: * libspi/keystrokelistener.c: @@ -3042,7 +4848,7 @@ Required making 'app' static, renamed 'this_app'. Fixed broken use of bonobo_init, passing argv wrongly. -<2001-09-27 Bill Haneman +2001-09-27 Bill Haneman * util: * util/Makefile.am: @@ -3084,7 +4890,8 @@ If env variable MAGNIFIER is set, a magnifier service will be started if one does not exist. -<2001-09-25 Bill Haneman +2001-09-25 Bill Haneman + * at-bridge/bridge.c: applied patch from Marc to build and run against new glib and gtk+ (seemed like a change @@ -3097,7 +4904,8 @@ Changed "application.h" header from a 'source' to a 'dependency' of libat-bridge. -<2001-09-12 Marc Mulcahy +2001-09-12 Marc Mulcahy + * cspi/Makefile.am: Added spi-util.c. @@ -3186,7 +4994,7 @@ * libspi/hyperlink.c: Change for nAnchors attributte name change. -<2001-09-12 Marc Mulcahy +2001-09-12 Marc Mulcahy * cspi/Makefile.am: Added spi-util.c. @@ -3276,13 +5084,13 @@ Change for nAnchors attributte name change. -<2001-09-05 Marc Mulcahy +2001-09-05 Marc Mulcahy implementations-- made server implementations own AtkObject pointers rather than their respective AtkInterrface pointers to fix refcounting. AtkHyperlink is still broken. -<2001-09-04 Bill Haneman +2001-09-04 Bill Haneman * cspi/spi_accessible.c: Added method Accessible_Role_getName(), and requisite string array (role_names). @@ -3312,7 +5120,7 @@ Changed bonobo_object_release_unref to Accessibility_Accessible_unref. -<2001-09-04 Marc Mulcahy +2001-09-04 Marc Mulcahy * Added files: spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c @@ -3321,7 +5129,7 @@ Implementations for C bindings to remaining accessibility interfaces. -<2001-09-04 Marc Mulcahy +2001-09-04 Marc Mulcahy * idl/Action.idl: changed return value of Action from void to boolean to @@ -3379,7 +5187,7 @@ 2001-08-21 Bill Haneman Tagged CVS repository 'EA_1_0'. - * README.EARLY_ACCESS: + * README.EARLY_ACCESS: Alphabetized acknowledgements list, and added someone. Listed some known dependencies of at-spi. @@ -3440,7 +5248,7 @@ Accessible_getName() - uppercase object type name, studlyCaps method name. - *cspi/spi.h: + * cspi/spi.h: Added gtk-doc documentation for all currently implemented methods in the C bindings API. @@ -3717,7 +5525,7 @@ 2001-07-31 Bill Haneman - * libspi/accessible.c : added support for 'description' property. + * libspi/accessible.c : added support for 'description' property. * libspi/accessible.c * libspi/desktop.c * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object @@ -3738,7 +5546,7 @@ 2001-07-28 Anders Carlsson - * libspi/accessible.c (accessible_object_finalize): Change + * libspi/accessible.c (accessible_object_finalize): Change g_free to g_object_unref since the AtkObject is a GObject. 2001-07-30 Bill Haneman