1 2006-07-18 Bill Haneman <billh@gnome.org> modifications to patch from
3 * idl/Accessibility_Selection.idl:
4 (deselectChild): New method.
7 (impl_deselectChild): Implement the new IDL method.
10 (AccessibleSelection_deselectChild): Added new method.
12 * cspi/spi_selection.c:
13 (AccessibleSelection_deselectChild): New method implemented.
15 2006-07-13 Bill Haneman <billh@gnome.org> modifications to patch from
17 * cspi/bonobo/cspi-bonobo.c:
18 (cspi_init): Replace g_error with g_warning, prevent
19 SEGV if the registry cannot be activated. Bug #346393.
21 2006-07-12 Bill Haneman <billh@gnome.org> modifications to patch from
23 * po/LINGUAS: put LINGUAS where it belongs. Fixes i18n.
25 2006-07-12 Bill Haneman <billh@gnome.org> modifications to patch from
26 2006-07-12 Ariel Rios <arios@us.ibm.com>
30 * idl/Accessibility_Table.idl:
31 (getRowColumnExtentsAtIndex): New method for getting
32 selection status and extents in one API call.
35 (impl_getRowColumnExtentsAtIndex): Implementation of
37 (spi_table_class_init): Add above to epv.
41 (AccessibleTable_getRowColumnExtentsAtIndex): New
42 method, retrieves selection status and row/col extents
43 for a table cell in a single API call.
45 2006-07-12 Bill Haneman <billh@gnome.org> modifications to patch from
46 2006-07-12 Ariel Rios <arios@us.ibm.com>
48 * cspi/bonobo/cspi-bonobo.c: Remove warning adding <cspi/spi-private.h>
51 (AccessibleText_getAttributeRun,AccessibleText_getDefaultAttributes):
52 New bindings for new methods defined in idl and libspi.
55 (AccessibleText_getAttributeRun,AccessibleText_getDefaultAttributes):
56 Added prototype functions.
59 (impl_getAttributeRun, impl_getDefaultAttributeSet): New method implementation
61 (spi_text_class_init): Added previous methods.
64 (impl_getAttributeRun, impl_getDefaultAttributeSet): Added prototypes
65 * libspi/spi-private.h: Corrections.
67 2006-06-29 Bill Haneman <bill.haneman@sun.com>
69 Added Document interface (see bug #326520),
70 with work from Ariel Rios <arios@us.ibm.com>.
72 * configure.in: Bump to 1.7.8.
74 * libspi/Makefile.am: Added document.[ch] to sources
77 (SpiDocument, SpiDocumentClass):
78 New interface implementation.
79 (spi_document_get_type, spi_document_construct)
80 (spi_document_interface_new): New methods added.
81 (SPI_DOCUMENT_TYPE, SPI_DOCUMENT)
82 (SPI_DOCUMENT_CLASS, IS_DOCUMENT, IS_DOCUMENT_CLASS):
83 Added macros for SpiDocument
87 (spi_document_interface_new): Get a
88 new document interface. New.
89 (get_document_from_servant): Get an AtkDocument from servant New.
90 (impl_getLocale, impl_getAttributeValue, impl_getAttributes):
91 Implementation of methods defined on idl.
92 (spi_document_class_init, spi_document_init)
93 Init methods for SpiDocument. new
95 * idl/Accessibility.idl: Added Accessibility_Document.idl.
97 * cspi/Makefile.am: Added spi_document.c to sources.
99 * cspi/spi_document.c:
100 (AccessibleDocument_ref, AccessibleDocument_unref): Added.
101 (AccessibleDocument_getLocale, AccesibleDocument_getAttributeValue)
102 (AccessibleDocument_getAttributes): Bindings for methods defined
105 * cspi/spi_accessible.c:
106 (Accessible_isDocument, Accessible_getDocument) New.
108 (Accessible_isDocument, Accessible_getDocument)
109 (AccessibleDocument_ref, AccessibleDocument_unref)
110 (AccessibleDocument_getLocale, AccessibleDocument_getAttributeValue)
111 (AccessibleDocument_getAttributes): Bindings added.
113 * idl/Makefile.am: Added Accessibility_Document.idl to
116 2006-06-29 Bill Haneman <bill.haneman@sun.com>
118 * idl/Accessibility_Document.idl: New interface
119 for complex documents. First stage of fix for RFE
122 2006-06-27 Bill Haneman <bill.haneman@sun.com>
124 * libspi/streamablecontent.c:
125 (impl_content_stream_close):
126 Unref the GIOChannel on close.
128 2006-06-23 Bill Haneman <bill.haneman@sun.com>
130 * idl/Accessibility_Role.idl:
131 * libspi/accessiblerole.c:
132 * cspi/spi_accessible.c: Added ROLE_LINK,
133 ROLE_REDUNDANT_OBJECT, and ROLE_INPUT_METHOD_WINDOW.
134 Bug #345758 and bug #140635.
137 2006-06-22 Bill Haneman <bill.haneman@sun.com>
141 * idl/Accessibility_StreamableContent.idl:
142 Fix derivation of StreamableContent and ContentStream.
144 * cspi/spi_streamablecontent.c:
145 (accessible_content_stream_client_read):
146 Fix the datatype of the content stream used.
147 Interpret short reads as EOF, and stop trying to
148 read when we've fulfilled the request.
149 (AccessibleStreamableContent_getContentTypes):
150 Use g_strdup, not CORBA_string_dup, for the strings.
151 (AccessibleStreamableContent_open):
152 Correctly use the new getStream method for opening,
153 not the deprecated getContent method.
154 Use the object reference as the stream hash key.
155 Make note of the 'one stream per client per streamable'
156 limitation in the docs.
159 Add streamablecontent.h to the list of #includes.
161 * libspi/streamablecontent.c:
162 (impl_content_stream_read): Initialize the GError.
163 Allocate the incoming buffer if reading a fixed length of
164 data. Use g_memmove instead of memcpy.
165 (impl_accessibility_streamable_get_content_types):
166 Init typelist->_maximum. Only allocate the buffer if
167 there is a non-zero number of content types available.
168 (BONOBO_TYPE_FUNC_FULL(SpiStreamable): Move to end.
170 * libspi/streamablecontent.h:
171 (SPI_STREAMABLE_TYPE): Fix this macro, it was totally broken.
174 (SPI_IS_VALUE): Fix a typo in this macro too.
176 2006-06-16 Bill Haneman <bill.haneman@sun.com>
180 * idl/Accessibility_StreambleContent.idl:
181 Deprecate the Bonobo_Stream-based methods in favor of
182 a self-contained "ContentStream" interface. This should
183 allow us to remove BonoboStream dependencies entirely, since
184 there were no non-NIL implementations of the old methods anyway.
185 (ContentStream): New interface.
186 (ContentStream::SeekType): Enum.
187 (ContentStream::seek): New.
188 (ContentStream::read): New.
189 (ContentStream::close): New.
190 (getContent): Deprecate.
191 (getURI): New method, returns a URI pointing to the content, if available.
193 * libspi/streamablecontent.c:
194 (SpiContentStream): Internal object type definition used to
195 implement Accessibility::StreamableContent::ContentStream via
196 AtkStreamableContent's GIOChannel back-end.
197 (spi_content_stream_new, spi_content_stream_dispose): See above;
199 (impl_content_stream_seek, impl_content_stream_read):
200 (impl_content_stream_close): New, implementations of
202 (impl_accessibility_streamable_get_stream): Implement the
203 public method Accessibility::StreamableContent::getStream.
204 (impl_accessibility_streamable_get_uri): Implement the
205 public method Accessibility::StreamableContent::getURI.
207 * cspi/spi_streamablecontent.c:
208 (accessible_bonobo_stream_client_seek): Replaced by
209 (accessible_content_stream_client_seek).
210 (accessible_bonobo_stream_client_read): Replaced by
211 (accessible_content_stream_client_read).
212 (AccessibleStreamableContent_open):
213 (AccessibleStreamableContent_seek):
214 (AccessibleStreamableContent_read):
215 (AccessibleStreamableContent_close): Use the new 'getStream'
216 API instead of the deprecated 'getContent' API, inside the cspi wrappers.
218 2006-06-15 Bill Haneman <bill.haneman@sun.com>
220 * idl/Accessibility.idl: #include Bonobo_Unknown.idl,
221 remove from other .idl files (except LoginHelper).
224 2006-06-14 Bill Haneman <bill.haneman@sun.com>
226 * */Makefile.am: Add WARN_CFLAGS to INCLUDES.
229 * configure.in, */Makefile.am: mingw patch, modified from
230 original patch by yselkowitz. Bug #314216.
232 * cspi/spi-impl.h: Added #defines SPI_TRUE and SPI_FALSE
233 for completeness. Bug #163111.
235 * atk-bridge/bridge.c, cspi/bonobo/cspi-bonobo.c:
236 * libspi/util.c, registryd/registry-main.c:
237 Fix guint/char* casts.
238 Patch from chpe, bug #333883.
240 2006-06-12 Bill Haneman <bill.haneman@sun.com>
242 * configure.in: Require atk-1.12.0, to pick up
243 new API. (bug #344412).
245 * libspi-1.0-uninstalled.pc.in:
247 * libloginhelper-1.0.pc.in: Remove gtk+ dependency.
248 Fix for #341488 from Samual Thibault.
250 * configure.in, LINGUAS: Use LINGUAS, bug #338023.
251 Thanks to Brian Pepple.
253 2006-06-09 Bill Haneman <bill.haneman@sun.com>
256 (impl_get_nSelectedRows, impl_get_nSelectedColumns):
257 New, missing implementations of attribute reading methods
260 * cspi/spi.h, spi_value.c:
261 (AccessibleValue_getMinimumIncrement): New methods wrapping
262 the (formerly unimplemented) property from Value.idl.
265 (impl_get_minimumIncrement): Implementation for retrieving
266 the minimum valuator increment, (formerly unimplemented).
269 2006-06-09 Bill Haneman <bill.haneman@sun.com>
271 * idl/Accessibility_State.idl:
272 Added STATE_VISITED (bug #338369).
274 * cspi/spi_accessible.c:
275 (spi_state_to_corba) Fixed marshalling of new statetypes.
278 (spi_init_state_tables, impl_getStates):
279 Fixed conversion of new statetypes to/from ATK.
281 * idl/Accessibility_Role.idl: Added ROLE_FORM (bug #344266).
283 * cspi/spi-roletypes.h, spi_accessible.c: Added marshalling
284 definitions/conversions for new roles from ATK.
286 * idl/Accessibility_Relation.idl:
288 * cspi/spi.h, spi_accessible.c: Added SPI_RELATION_DESCRIBED_BY and
289 SPI_RELATION_DESCRIPTION_FOR. (bug #344264) Also
290 SPI_PARENT_WINDOW_OF, which was in ATK but not AT-SPI.
292 * libspi/accessible.c: Fixed marshalling of new role types from
295 2006-04-17 Matthias Clasen <mclasen@redhat.com>
297 * revert my previous change
299 2006-04-17 Kjartan Maraas <kmaraas@gnome.org>
301 * configure.in: Remove obssolete no_NO locale
302 * po/no.po: And the translation.
304 2006-04-05 Matthias Clasen <mclasen@redhat.com>
306 * atk-bridge/bridge.c (spi_atk_emit_eventv): Fix a
307 memory-management error that caused crashes on x86_64.
310 2006-03-30 Guntupalli Karunakar <karunakar@indlinux.org>
312 * configure.in: Added 'dz' (Dzongkha) to ALL_LINGUAS.
314 2006-03-27 Bill Haneman <bill.haneman@sun.com>
316 * configure.in: Define $LIBTOOL_EXPORT_OPTIONS
317 to strip "cspi_*" from the symbol table.
319 * cspi/spi_streamablecontent.c:
320 (get_streams): Make this method static.
323 (_cspi_exception_throw): rename to cspi_exception_throw,
324 so we can strip it with the rest...
327 Add LIBTOOL_EXPORT_OPTIONS to libcspi_la_LDFLAGS.
329 2006-03-27 Bill Haneman <bill.haneman@sun.com>
331 Add doxygen-generated IDL docs to tarball, and enable
332 doxygen during build/install when available. Bug #301345.
334 * configure.in: Add docs/reference/idl/Makefile to AC_OUTPUT.
336 * docs/reference/Makefile.am: Add idl to SUBDIRS.
338 * docs/reference/idl/Makefile.am: Optionally use
339 doxygen to create docs.
341 2006-03-20 Vladimer Sichinava <vlsichinava@gmail.com>
343 * configure.in: Added "ka" (Georgian) to ALL_LINGUAS
345 2006-03-20 Bill Haneman <bill.haneman@sun.com>
348 (impl_get_selected_rows): Don't free the selection if it's
349 empty or has not been assigned; init it to NULL so you can tell.
350 Also, allow for zero selected rows.
351 (impl_getSelectedColumns): Ditto. Bug #319088.
353 2006-03-11 Vincent Untz <vuntz@gnome.org>
355 Leak fix for bug #334217.
357 * libspi/application.c: spi_application_toolkit_event_listener():
358 don't duplicate the string we pass as an argument to
359 spi_init_any_nil() since spi_init_any_nil() already does it
360 * registryd/deviceeventcontroller.c:
361 (spi_dec_button_update_and_emit): ditto
362 (spi_dec_mouse_check): ditto
363 (spi_dec_emit_modifier_event): ditto
364 (spi_device_event_controller_forward_mouse): ditto
365 * registryd/registry.c:
366 (desktop_add_application): ditto
367 (desktop_remove_application): ditto
369 2006-02-20 Bill Haneman <billh@gnome.org>
371 * configure.in: Rev to 1.7.6.
373 Leak fixes for bug #331924.
375 * atk-bridge/bridge.c:
376 (spi_atk_bridge_init_base): Don't dup the string, it's already
377 been dup-ed. Fixes a leak.
378 (spi_atk_emit_eventv): Move the CORBA_free call here,
379 instead of spi_atk_state_event_listener; fixes another leak.
380 (spi_atk_bridge_key_listener):Free the dup'ed key strings after
381 notifying the registry; fixes another leak.
383 * registryd/registry.c:
384 (registry_flush_event_queue): Free the CORBA_any when
385 flushing the event, not just the string. Fixes another leak.
386 (registry_queue_event): Free the CORBA_any when dropping
387 events on the floor; fixes another leak.
390 (spi_init_any_object, spi_init_any_nil):
391 Always set _release to TRUE. Fixes another leak.
393 2006-02-20 Bill Haneman <billh@gnome.org>
395 * configure.in: Rev to 1.7.5.
396 Reinstate localization of this module. Thanks for Rodney
397 Dawes for fixing my patch.
399 * registryd/Makefile.am: Remove Accessibility_Registry.server
400 from dist, since it needs to be re-created at configure time.
403 2006-01-31 Bill Haneman <billh@gnome.org>
405 * configure.in: Rev to 1.7.4 (to include build fix below).
407 * idl/Makefile.am: Include Selector.idl in dist.
411 (cspi_internal_event_get_object): Handle case where
412 "object" isn't present, i.e. CORBA_TC_Object doesn't match
413 the EventDetails data.
414 (cspi_internal_event_get_text): Handle NULL string.
415 (cspi_internal_event_get_rect): Handle missing/empty rect
416 data, Accessibility_TC_RectBounds doesn't match any_data.
418 2006-01-30 Bill Haneman <billh@gnome.org>
422 * atk-bridge/bridge.c:
423 (spi_atk_emit_eventv): Check for SPI_REMOTE_OBJECT
424 interface and use that when instantiating a new source
425 accessible. Better fix for bug #321814.
427 2006-01-27 Bill Haneman <billh@gnome.org>
429 * idl/Accessibility_Selector.idl: Added to the cvs repository.
431 * configure.in: Revved to 1.7.3.
433 2006-01-17 Bill Haneman <billh@gnome.org>
435 * configure.in: Revved to 1.7.2, re-dist to include docs.
437 2006-01-09 Bill Haneman <billh@gnome.org>
439 * configure.in: Removed po/Makefile.in inclusion, we do not need
442 * idl/Accessibility.idl: Improved documentation here, and for all
443 IDL in the 'GNOME::Accessibility' namespace.
445 * idl/Accessibility_Accessible.idl:
446 (LOCALE_TYPE): Added enum.
447 (AttributeSet): New, for returning multiple name/value attribute pairs.
448 (RoleSet): New, sequence of Roles, to be used in upcoming
450 (getAttributes): New API, allows retrieval of name/value pair
451 annotations for all kinds of Accessible objects. C.f.
452 Text:getAttributes, which is only for typographic/textual/semantic tags in
454 (getApplication): New, retrieves the host/containing Application
455 instance for an object (without having to walk up the whole tree).
457 * idl/Accessibility_Component.idl:
458 (getAlpha): New method, returns the alpha blending (aka 'opacity')
459 value for an object. An alpha of 1.0 is fully opaque, 0.0 is
462 * idl/Accessibility_Event.idl:
463 (EventDetails): New struct definition, for encapsulating
464 commonly-queried information about emitted events. The use of
465 this structure in emitted events (in the 'any' member of
466 Accessibility_Event) should greatly reduce the number of
467 client-server roundtrips necessary.
469 * idl/Accessibility_Image.idl:
470 (imageLocale): New, a readonly attribute indicating the POSIX
471 LC_MESSAGES locale of the image and associated Alt/descriptive
474 * idl/Accessibility_Relation.idl:
475 (RELATION_PARENT_WINDOW_OF): Include, as complement to
478 * idl/Accessibility_Role.idl:
479 (ROLE_ENTRY, ROLE_CHART, ROLE_CAPTION, ROLE_DOCUMENT_FRAME)
480 (ROLE_HEADING, ROLE_PAGE, ROLE_SECTION): New roles for
481 complex document and form support.
483 * idl/Accessibility_State.idl:
484 (STATE_REQUIRED, STATE_TRUNCATED, STATE_ANIMATED)
485 (STATE_INVALID_ENTRY, STATE_SUPPORTS_AUTOCOMPLETION)
486 (STATE_SELECTABLE_TEXT, STATE_IS_DEFAULT): New states,
487 for support of complex documents and forms.
489 * idl/Accessibility_StreamableContent.idl:
490 (SeekType, IOError, NotSupported, NoPermission): New enum and exceptions, to
491 allow old bonobo-stream interfaces to be deprecated in the next
494 * idl/Accessibility_Text.idl:
495 (getAttributeValue): New method, allows query-by-name of single
498 * libspi/accessible.c:
499 Added support for new roles. Implemented new methods
500 (impl_accessibility_accessible_get_application): New
501 (impl_accessibility_accessible_get_attributes): New
503 * libspi/component.c:
504 (impl_accessibility_component_get_alpha): New.
507 (impl_accessibility_image_get_locale): New.
509 * libspi/relation.c: Added support for new relation type.
511 * libspi/stateset.c: Added support for new state types.
514 (impl_getAttributeValue): New.
517 New prototypes for private methods
519 spi_init_any_object, spi_init_any_string,
522 * libspi/spi_event.c:
523 Use EventDetails in the event emission methods.
525 * cspi/spi-private.h:
526 (cspi_role_from_spi_role): Expose this adapter method, since
527 we need it in the bridge (see below).
530 (AccessibleEvent_getSourceName):
531 (AccessibleEvent_getSourceRole):
532 (AccessibleEvent_getSourceApplication):
533 (AccessibleEvent_getSourceDetails):
534 New methods for interrogating/demarshalling
535 event details (i.e. source's accessible name, role,
538 * cspi/spi_accessible.c: Use cspi_role_from_spi_role.
539 Make use of the new EventDetails struct in events, if present.
540 (AccessibleEvent_getSourceName)
541 (AccessibleEvent_getSourceRole)
542 (AccessibleEvent_getSourceApplication)
543 (AccessibleEvent_getSourceDetails): Implement the newly exposed
545 (Accessible_getAttributes): New, wraps
546 Accessibility_Accessible_getAttributes.
547 (Accessible_getHostApplication): New, wraps
548 Accessibility_Accessible_getApplication.
551 (AccessibleImage_getImageLocale): New wrapper for
552 Accessibility_Image_get_imageLocale.
554 * cspi/spi_component.c:
555 (AccessibleComponent_getAlpha): New wrapper for
556 Accessibility_Component_getAlpha.
558 * atk-bridge/bridge.c:
559 Use new prototyped for init_any methods.
560 (spi_atk_bridge_init_nil, spi_atk_bridge_init_object)
561 (spi_atk_bridge_init_string, spi_atk_bridge_init_rect)
562 (spi_atk_bridge_init_base): Wrappers
563 for spi_init_any_* methods, due to refactor; include extended
564 information in the Accessibility_EventDetails struct, for instance
565 accessible-name, Role, and containing Application.
567 * registryd/registry.c:
568 Use new event emission (with EventDetails).
570 * registryd/deviceeventcontroller.c:
571 Use new event emission (with EventDetails).
573 2006-01-09 Kjartan Maraas <kmaraas@gnome.org>
575 * configure.in: Generate po/Makefile.in
576 * cspi/spi_main.c: Add #ifdef PRINT_LEAKS around a function
577 * cspi/spi_streamablecontent.c:
578 (accessible_bonobo_stream_client_seek),
579 (AccessibleStreamableContent_seek): Remove unused vars.
580 * libspi/application.c: Missing header.
581 * libspi/text.c: (impl_getDefaultAttributes): Unused vars
582 * login-helper/login-helper.c: (login_helper_finalize),
583 (login_helper_init): Remove unused stuff
584 * registryd/deviceeventcontroller.c: (spi_dec_replace_map_keysym),
585 (spi_dec_init_mouse_listener), (is_key_released): Remove unused vars
586 and surround some with #ifdef GRAB_BUTTON.
587 * test/event-listener-test.c: (main), (report_event),
588 (report_caret_event), (report_detail_event),
589 (report_detail1_event), (report_bounds_event), (report_text_event),
590 (report_text_selection_event),
591 (report_active_descendant_changed_event),
592 (report_children_changed_event), (report_name_changed_event),
593 (report_description_changed_event), (report_parent_changed_event),
594 (report_window_event), (report_table_summary_event),
595 (report_table_header_event), (report_table_caption_event),
596 (report_table_row_description_event),
597 (report_table_column_description_event), (timing_test_event):
598 Remove a bunch of unused variables and fix a slew of format specifiers
599 * test/key-listener-test.c: (report_all_key_event): Format specifier
600 * test/keypad-test.c: (print_key_event): Same
601 * test/login-helper-server-test.c: (main): Include gtkmain.h and remove
603 * test/screen-review-test.c: (main), (print_chunk_debug),
604 (review_buffer_get_text_chunk), (debug_chunk_list),
605 (string_guess_clip), (text_chunk_get_clipped_string),
606 (text_chunk_list_to_string), (get_screen_review_line_at):
607 Remove unused variables and fix format specifiers.
608 * test/simple-at.c: (report_text_event): Format specifier fix.
609 * test/stress-test.c: (main): Remove unused var.
611 2005-12-29 Abel Cheung <maddog@linuxhall.org>
613 * configure.in: Add zh_HK, zh_TW to ALL_LINGUAS
614 (yes I know that's useless)
616 2005-11-20 Theppitak Karoonboonyanan <thep@linux.thai.net>
618 * configure.in: Added "th" (Thai) to ALL_LINGUAS.
620 2005-11-17 Michael Meeks <michael.meeks@novell.com>
622 * atk-bridge/bridge.c (spi_atk_emit_eventv):
623 urgh-fix embarassing typo.
625 2005-11-16 Michael Meeks <michael.meeks@novell.com>
627 * atk-bridge/bridge.c (spi_atk_emit_eventv):
628 do a faster, less problematic _unref call on this local
629 object, rather than a slower (potentially cross-thread
630 complicated) CORBA call.
632 2005-11-02 Kjartan Maraas <kmaraas@gnome.org>
634 * atk-bridge/bridge.c: (spi_atk_bridge_signal_listener):
635 * cspi/spi_streamablecontent.c: (AccessibleStreamableContent_seek):
636 * registryd/deviceeventcontroller.c:
637 (spi_controller_notify_mouselisteners),
638 (impl_generate_keyboard_event):
639 * test/screen-review-test.c: (chunk_bounds_within):
640 * test/test-simple.c: (test_desktop): Remove some unused code
641 and fix compiler warnings. Closes bug #320049.
643 2005-10-27 Bill Haneman <bill.haneman@sun.com>
645 * registryd/deviceeventcontroller.c:
646 (spi_controller_notify_keylisteners): Check
647 to make sure the event listener has requested 'preemptive'
648 status before pre-empting an event.
650 2005-08-29 Bill Haneman <bill.haneman@sun.com>
652 * configure.in, README, NEWS: Release 1.6.5.
654 2005-07-25 Matthias Clasen <mclasen@redhat.com>
656 * test/window-listener-test.c: Fix a printf
657 format error. (#169453)
659 2005-07-15 Bill Haneman <bill.haneman@sun.com>
661 * tests/test-simple.c:
662 (key_listener_cb): Ensure that the keystring is dup'ed instead of
663 relying on the old string from the key event hanging around after
664 the event handler returns. Fixes broken 'make check'.
666 2005-06-06 Swapnil Hajare <dreamil@gmail.com>
668 * Added Marathi (mr_IN) translations.
670 2005-05-27 Kjartan Maraas <kmaraas@gnome.org>
672 * cspi/bonobo/cspi-bonobo-listener.c:
673 (cspi_event_list_remove_by_cb): Fix the build.
675 2005-05-26 Michael Meeks <michael.meeks@novell.com>
677 * cspi/bonobo/cspi-bonobo-listener.c
678 (cspi_event_list_remove_by_cb): actually filter by callback.
680 2005-05-25 Bill Haneman <bill.haneman@sun.com>
682 * registryd/registry.c (remove_listener_cb):
683 Make deregistration filter rules match the event emission rules.
685 2005-05-25 Michael Meeks <michael.meeks@novell.com>
687 * registryd/registry.c (remove_listener_cb),
688 (impl_accessibility_registry_deregister_global_event_listener),
689 (impl_accessibility_registry_deregister_global_event_listener_all):
690 pass a closure to the remove callback to filter listeners more
691 accurately on remove.
693 2005-04-05 Bill Haneman <bill.haneman@sun.com>
695 * configure.in: Revved to 1.6.4.
696 Remember to put quotes around XEVIE_LIBS assignment.
697 Fixed one of tertiary AC_CHECK_HEADER tests for XEvie.
700 * tests/event-listener-test.c: Tweaked the tests - more detail
701 from caret events, and some interrogation of AccessibleText APIs.
702 Commented-out the bounds-changed events by default, since they can
705 2005-04-14 Kjartan Maraas <kmaraas@gnome.org>
707 * atk-bridge/bridge.c: (spi_atk_emit_eventv): Plug a leak.
708 * cspi/bonobo/cspi-bonobo-listener.c: (cspi_device_event):
709 Same here. Closes bug #167806
711 2005-04-05 Bill Haneman <bill.haneman@sun.com>
713 * atk-bridge/bridge.c:
714 (spi_atk_bridge_signal_listener):
715 Free the any._value if any._release is TRUE,
716 since the ORB won't do it for us in this case
717 [because this method is not a skel].
720 2005-03-30 Steve Murphy <murf@e-tools.com>
722 * configure.in: Added "rw" to ALL_LINGUAS.
724 2005-03-29 Bill Haneman <bill.haneman@sun.com>
726 * configure.in: Improved check for HAVE_XEVIE, to detect
727 presence on XOrg, where -lXevie is a separate library.
729 2005-03-08 Bill Haneman <bill.haneman@sun.com>
731 * configure.in, NEWS, README: Revved to 1.6.3.
733 2005-02-16 Adi Attar <aattar@cvs.gnome.org>
735 * configure.in: Added "xh" to ALL_LINGUAS.
737 2005-02-07 Bill Haneman <bill.haneman@sun.com>
739 * atk-bridge/bridge.c:
740 (atk_bridge_init): Added missing NULL in g_strconcat(),
741 also check for symlink before logging to
742 insecure directory. Thanks to meissner@suse.de.
744 2005-01-25 Padraig O'Briain <padraig.obriain@sun.com>
746 * tests/login-helper-server-test.c: Add return call to main
747 function. Patch from Chris Lahey. Fixes bug #165129.
749 2004-12-20 Padraig O'Briain <padraig.obriain@sun.com>
751 * cspi/spi.h: Add description for SPI_RELATION_SUBWINDOW_OF.
753 2004-12-09 Bill Haneman <billh@gnome.org>
755 * registryd/registry-main.c:
756 Added #define <string.h> for strrchr. (bug 160862).
757 Thanks to Vincent Berger for catching.
759 2004-12-09 Padraig O'Briain <padraig.obriain@sun.com>
761 * atk-bridge/bridge.c (spi_atk_get_registry): Do not attempt to
762 restart registry process if the registry process is found to have died
763 and the current process is exiting.
764 (spi_atk_bridge_exit_func): Do not attempt to deregister the
765 application if the registry process has died.
766 (spi_atk_emit_eventv): Return if call to spi_atk_get_registry
767 does not return a registry object.
768 (spi_atk_tidy_windows): Give up if the registry process has died.
770 This fixes problems with hangs and crashes when logging out.
772 2004-12-03 Padraig O'Briain <padraig.obriain@sun.com>
774 * registryd/desktop.c: Add checking that we are not exiting before
775 calling spi_desktop_remove_application in
776 abnormal_application_termination. Fix for bug #152147.
778 2004-12-02 Bill Haneman <billh@gnome.org>
780 * configure.in, NEWS, README: Revved to 1.6.1.
782 Patch from Padraig O'Briain <padraig.obriain@sun.com>
783 * atk-bridge/bridge.c:
784 (atk_bridge_init): Save the pid when we start, to detect forks.
785 (spi_atk_bridge_exit_func): Don't call the cleanup routines
786 if we're in a forked pid.
788 2004-10-09 Bill Haneman <billh@gnome.org>
790 * idl/Accessibility_LoginHelper.idl:
791 Improved inline documentation.
793 2004-10-02 Jesus Bravo Alvarez <suso@trasno.net>
795 * configure.in: Added gl (Galician) to ALL_LINGUAS
797 2004-09-30 Kjartan Maraas <kmaraas@gnome.org>
799 * libspi/accessible.c:
800 (impl_accessibility_accessible_get_role_name),
801 (impl_accessibility_accessible_get_local_role_name):
803 * libspi/component.c:
804 (impl_accessibility_component_get_accessible_at_point):
806 * libspi/eventlistener.c: (spi_event_listener_new):
808 * libspi/stateset.c: (impl_compare): More of the same
809 * libspi/table.c: (impl_getRowDescription): Again.
810 * registryd/desktop.c: (spi_atk_desktop_get_type): Same
811 * registryd/deviceeventcontroller.c: (spi_clear_error_state),
812 (impl_generate_keyboard_event): Same.
813 * registryd/registry-main.c: (main): Same
814 * test/event-listener-test.c: (test_exit): Same
815 * test/keysynth-demo.c: (scan_state), (create_vkbd): Same
816 * test/keysynth-test.c: (test_key_synthesis): Same
817 * test/login-helper-server-test.c: (main): Fix warning.
818 * test/screen-review-test.c: (test_exit): Fix include.
819 * test/simple-at.c: (simple_at_exit), (_festival_init):
822 2004-09-13 Padraig O'Briain <padraig.vriain@sun.com>
824 * configure.in, NEWS, README: Revved to 1.6.0.
826 2004-09-12 Bill Haneman <bill.haneman@sun.com>
828 * configure.in: Rev and re-dist, since the 1.5.4 tarball
829 was missing the HTML docs.
831 2004-09-12 Tomasz KÅ‚oczko <kloczek@pld.org.pl>
833 * configure.in: only cleanups:
834 - better looking PKG_CHECK_MODULES() output,
836 - declare in one common place required versions of other tools using
839 2004-09-11 J.H.M. Dassen (Ray) <jdassen@debian.org>
841 * configure.in: libspi/accessible.c uses ATK_ROLE_EMBEDDED
842 (unconditionally) which was introduced in ATK 1.7.2. Bumped the
843 required ATK version accordingly.
845 2004-09-03 Bill Haneman <bill.haneman@sun.com>
847 * cspi/bonobo/cspi-bonobo.c:
848 (cspi_display_name): Fix C99ism.
849 * atk-bridge/bridge.c:
850 (spi_display_name): Fix C99ism.
851 Patch from Jens Granseuer, jensgr@gmx.net.
853 2004-09-03 Gora Mohanty <gmohanty@cvs.gnome.org>
855 * configure.in: Added "or" to ALL_LINGUAS.
857 2004-08-20 Bill Haneman <bill.haneman@sun.com>
859 * configure.in, NEWS, README: Revved to 1.5.4.
861 * registryd/registry-main.c:
862 (main): Set the reg_env to use AT_SPI_DISPLAY instead of
865 * cspi/bonobo/cspi-bonobo.c:
866 (cspi_display_name): New convenience method, gets DISPLAY with
867 screen number stripped, if AT_SPI_DISPLAY isn't already set.
868 (cspi_init): Set the activation env value above before getting
871 * atk-bridge/bridge.c:
872 (spi_display_name): Create the AT_SPI_DISPLAY activation
873 environment for an app, based on the DISPLAY environment with the
874 screen number stripped off.
875 (atk_bridge_init): Allow redirection of error messages to a log.
876 (spi_atk_bridge_get_registry): Call
877 bonobo_activation_set_activation_env_value for AT_SPI_DISPLAY.
879 Fixes for bugs #149962, #136986, #144086.
881 2004-08-16 Christian Rose <menthos@menthos.com>
883 * configure.in: Added "bs" to ALL_LINGUAS.
885 2004-08-12 Kjartan Maraas <kmaraas@gnome.org>
887 * configure.in: Added nb to ALL_LINGUAS.
889 2004-09-03 Bill Haneman <bill.haneman@sun.com>
892 (SPI_init): Return error code '2' if the activated
893 registry cannot be pinged. Fixes bug #147648.
895 2004-07-28 Bill Haneman <bill.haneman@sun.com>
897 * registryd/deviceeventcontroller.c:
898 (spi_dec_init_mouse_listener): Don't do XGrabButton,
899 rely on timer-poll instead, to avoid conflict with
902 2004-07-20 Bill Haneman <bill.haneman@sun.com>
904 * configure.in: Revved to 1.5.3.
906 * idl/Accessibility_Role.idl: Added ROLE_EMBEDDED (bug #144415).
908 * libspi/accessible.c: Added support for ROLE_EMBEDDED.
910 * cspi/spi_accessible.c: Support for ROLE_EMBEDDED.
912 * cspi/spi-roletypes.h: Added SPI_ROLE_EMBEDDED.
914 2004-06-11 Bill Haneman <bill.haneman@sun.com>
916 * atk-bridge/bridge.c:
917 (spi_atk_bridge_do_registration):
918 Register with ATK for AtkComponent:bounds-changed events.
919 (api_atk_bridge_signal_listener):
920 Marshal the AtkRectangle info into the event notification
921 for object:bounds-changed events.
924 (spi_init_any_rect): New method, inits a corba struct of
925 type Accessibility_BoundingBox from an AtkRectangle.
927 * libspi/spi-private.h: Declared spi_init_any_rect (above).
930 (SPIRect): New struct definition.
931 (SPI_freeRect): New declaration.
932 (AccessibleBoundsChangedEvent_getNewBounds): New, see below.
935 (AccessibleBoundsChangedEvent_getNewBounds): New method,
936 implemented. Gets the bounding box data from the CORBA_any
937 associated with a bounds-changed event notification.
938 (cspi_internal_event_get_rect): New, used internally by above method.
941 (SPI_freeRect): Implemented this new method, for freeing
944 * test/event-listener-test.c:
945 (main, report_bounds_event):
946 Added a test for object:bounds-changed events.
948 2004-06-01 Bill Haneman <bill.haneman@sun.com>
950 * test/login-helper-server-test.c:
951 (main): Fix C99-ism. Thanks to Jens Granseuer.
953 2004-05-28 Padraig O'Briain <padraig.obriain@sun.com>
955 * libloginhelper-1.0.pc.in:
956 * idl/Accessibility_LoginHelper.idl:
957 * login-helper/Makefile.am:
958 * login-helper/login-helper.[ch]:
959 * test/login-helper-client-test.c:
960 * test/login-helper-server-test.c: Added files missing from CVS.
961 Files obtained from at-spi-1.5.2 tarball.
963 2004-05-27 Bill Haneman <bill.haneman@sun.com>
965 * configure.in: Create login-helper/Makefile.
966 Incremented micro version.
968 * Makefile.am: Add login-helper subdir and pkgconfig data.
970 * login-helper: New subdir.
972 * libloginhelper-1.0.pc.in: New.
974 * idl/Accessibility_LoginHelper.idl: New file, defines
975 interface whereby authentication clients can identify agents which
976 need access to services during the login process, e.g. screen lock
979 * login-helper/Makefile.am : New.
981 * login-helper/login-helper.[ch] : New, implementation of
982 a LoginHelper base class. Services needing LoginHelper can subclass.
984 * test/Makefile.am : Added test for login-helper, client and
987 * test/app.c, at.c, keypad-test.c, keysynth-test.c, stress-test.c:
988 Use proper prefix in #include files.
990 * test/login-helper-client-test.c: New.
992 * test/login-helper-server-test.c: New.
994 2004-05-27 Alexander Shopov <ash@contact.bg>
996 * configure.in (ALL_LINGUAS): Added "bg" (Bulgarian)
998 2004-05-14 Padraig O'Briain <padraig.obriain@sun.com>
1000 * cspi/spi_main.c (cspi_object_unref): Add check that reference count
1001 is positive. This should make it easier to detect inapprorpiate unref
1004 2004-05-11 James Henstridge <james@daa.com.au>
1006 * configure.in: remove GNOME_PLATFORM_GNOME_2 macro, which is a
1007 no-op and deprecated.
1009 2004-05-03 Pablo Saratxaga <pablo@mandrakesoft.com>
1011 * configure.in: Added "wa" (Walloon) to ALL_LINGUAS.
1013 2004-04-28 Bill Haneman <billh@gnome.org>
1015 * Makefile.am: Added --enable-gtk-doc to
1016 DISTCHECK_CONFIGURE_FLAGS; fixes make distcheck.
1018 2004-04-19 Bill Haneman <billh@gnome.org>
1020 * configure.in: Revved to 1.5.1.
1022 * registryd/deviceeventcontroller.c:
1024 (DEControllerPrivateData): Added fields for
1025 reserved_keycode, reserved_keysym, and reserved_reset_timeout.
1026 (spi_dec_replace_map_keysym): New internal utility for
1027 replacing a keysym in the keymap - used to allow
1028 synthesis of individual characters which aren't in the
1030 (spi_dec_reset_reserved): New; resets the changed keysym value
1032 (keycode_for_keysym): We now try to deal with failed
1033 XKeysymToKeycode requests by changing a keymap value
1034 and returning a reserved keycode. We now take
1035 a DEController pointer as first arg.
1036 (spi_controller_register_with_devices): Call XkbGetMap with
1037 the XkbKeySymsMask. Find the highest keycode in the current
1038 keymap which doesn't have any grabs, and mark that one for
1039 temporary re-mapping when out-of-range KeySyms are synthesized.
1040 (dec_synth_keycode_press): Call XFlush after synthesizing the key
1043 2004-04-08 Guntupalli Karunakar <karunakar@freedomink.org>
1045 * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
1047 2004-03-24 Alexander Winston <alexander.winston@comcast.net>
1049 * configure.in: Added "en_CA" (Canadian English) to ALL_LINGUAS.
1051 2004-03-24 Bill Haneman <billh@gnome.org>
1054 (AccessibleTable_addRowSelection),
1055 (AccessibleTable_addColumnSelection),
1056 (AccessibleTable_removeRowSelection),
1057 (AccessibleTable_removeColumnSelection):
1058 Add declarations for spi wrappers which were
1059 inadvertantly omitted. Fixes bug #133413.
1062 Revved to 1.5.0 (unstable series for GNOME 2.7).
1064 2004-03-24 Bill Haneman <billh@gnome.org>
1066 * atk-bridge/bridge.c:
1067 Bracketed some debug output in
1068 conditionals, to avoid printing it in normal use.
1071 * libspi/hyperlink.c:
1072 Don't cast 'object' to ATK_OBJECT when constructing
1073 an AtkAction interface for a hyperlink.
1074 See discussion in bug #120659.
1076 * test/key-listener-test.c:
1077 (report_all_key_event): Send output to stderr,
1078 not stdout, for consistency with the rest of the test callbacks.
1081 Add -lXext to XINPUT_LIBS. Fix for bug #132237.
1082 Don't add X_LIBS to CFLAGS (Fix for bug #134332).
1083 Incremented to 1.4.1 (but didn't dist yet - I'm going to
1084 try incrementing the revision AFTER doing a dist, at least
1087 2004-03-22 Bill Haneman <billh@gnome.org>
1089 * configure.in: Revved to 1.4.0, libtool 9.14.9
1091 2004-03-17 Laszlo Peter <laca@sun.com>
1093 * libspi-1.0-uninstalled.pc.in: add idldir
1095 * cspi-1.0-uninstalled.pc.in: add idldir
1097 2004-03-16 Gareth Owen <gowen72@yahoo.com>
1099 * configure.in: Added "en_GB" to ALL_LINGUAS
1101 2004-03-15 Bill Haneman <billh@gnome.org>
1103 * configure.in: Revved to 1.3.16,
1106 2004-03-15 Laszlo Peter <laca@sun.com>
1108 * libspi-1.0-uninstalled.pc.in: new file
1110 * cspi-1.0-uninstalled.pc.in: new file
1112 * configure.in: add the new pc files to AC_OUTPUT
1114 * Makefile.am: add the new pc files to EXTRA_DIST
1116 2004-03-12 Bill Haneman <billh@gnome.org>
1118 * atk-bridge/bridge.c:
1119 (spi_atk_bridge_key_listener):
1120 Make sure to return consumed=FALSE if snoop
1121 event is not dispatched to listener.
1124 2004-03-01 Bill Haneman <billh@gnome.org>
1126 * configure.in: Revved to 1.3.15,
1129 2004-03-07 Danilo Segan <dsegan@gmx.net>
1131 * configure.in: Added "sr@ije" to ALL_LINGUAS.
1133 2004-03-03 Guntupalli Karunakar <karunakar@freedomink.org>
1135 * configure.in: Added "pa" for Punjabi in ALL_LINGUAS.
1137 2004-03-01 Bill Haneman <billh@gnome.org>
1139 * configure.in: Revved to 1.3.14.
1142 (SPI_exit): Removed "bye-bye" exit message.
1143 Moved "leak" report to happen before the
1144 iteration over the leaked refs list.
1145 Don't PRINT_LEAKS unless DEBUG_OBJECTS is also #defined.
1147 2004-02-24 Bill Haneman <billh@gnome.org>
1149 * configure.in: Revved to 1.3.13.
1151 * docs/reference/cspi/Makefile.am:
1152 Correct typo that was breaking the docs build.
1154 2004-02-11 Padraig O'Briain <padraig.obriain@sun.com>
1156 * autogen.sh: Require version 1.7 of automake.
1158 * configure.in: call GTK_DOC_CHECK([1.0])
1160 * atk-bridge/Makefile.am: Remove use of LDFLAGS and CFLAGS
1162 * docs/reference/cspi/Makefile.am: Update to use new gtk-doc.
1164 * libspi/Makefile.am: Remove use of LDFLAGS and CFLAGS.
1166 * test/Makefile.am: Remove use of CFLAGS.
1168 This fixes bug #132987.
1170 2004-02-11 Bill Haneman <billh@gnome.org>
1172 * reverted most of Tomasz' patch below, since it was breaking
1173 builds (see bug #134058).
1175 2004-02-10 Tomasz KÅ‚oczko <kloczek@pld.org.pl>
1177 * docs/reference/cspi/at-spi-cspi.types: added empty file for
1178 correct pass "make dist" (empty .. because seems no sach types in
1179 header files with gtk-doc markups).
1180 * docs/reference/cspi/Makefile.am, configure.in:
1181 Added better gtk-doc support using GTK_DOC_CHECK aclocal macro
1182 from gtk-doc >= 1.0 (modyfications based on scheme from atk).
1183 * Makefile.am: added:
1184 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
1185 for force correct pass generate documentation on "make distcheck".
1186 * libspi/Makefile.am: fixes for automake >= 1.6.
1187 * configure.in: Trivial cleanup: remove AC_SUBST(CFLAGS),
1188 AC_SUBST(CPPFLAGS) and AC_SUBST(LDFLAGS). This variables are
1191 Sun Feb 8 11:20:50 2004 Matthias Clasen <maclas@gmx.de>
1193 * docs/reference/cspi/Makefile.am (install-data-local): Install
1194 index.sgml since the doc autobuilder on widget.gnome.org looks for
1197 2004-02-02 Padraig O'Briain <padraig.obriain@sun.com>
1199 * atk-bridge/bridge.c (spi_atk_tidy_windows): Correct g_free call to
1202 2004-02-01 Robert Sedak <robert.sedak@sk.htnet.hr>
1204 * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
1206 2004-01-27 Brian Cameron <brian.cameron@sun.com>
1208 * test/simple-at.c: Fixed null string problems that cause core
1209 dumping problems on Solaris.
1211 2004-01-12 Bill Haneman <billh@gnome.org>
1213 * configure.in: Incremented version to 1.3.11.
1215 2004-01-05 Padraig O'Briain <padraig.obriain@sun.com>
1217 * docs/reference/cspi/at-spi-cspi-docs.sgml: Added XML in
1218 DOCTYPE statement. Fixes bug #129728. Patch supplied by Sebastien
1221 2004-01-01 Roozbeh Pournader <roozbeh@sharif.edu>
1223 * configure.in: Added "fa" to ALL_LINGUAS.
1225 2003-12-20 Arafat Medini <lumina@silverpen.de>
1227 * configure.in: Added "ar" to ALL_LINGUAS
1229 2003-12-16 Bill Haneman <billh@gnome.org>
1231 * registryd/registry-main.c:
1233 Set the reg_env DISPLAY variable before registering the
1234 activated registry service. Fixes bug #129479.
1236 2003-12-16 Mohammad DAMT <mdamt@bisnisweb.com>
1238 * configure.in: Added "id" in ALL_LINGUAS
1239 * po/id.po: Indonesian translation by Ahmad Riza H Nst <ari@160c.afraid.org>
1241 2003-12-15 Padraig O'Briain <padraig.obriain@sun.com>
1243 * registryd/deviceeventcontroller.c (global_filter_fn):
1244 When an event is consumed discard any XEvents were added to
1245 the queue while dealing with the the event. This can happen if
1246 processing of the event takes a long time. Call XUngrabKeyboard
1247 if an event was discarded. This fixes bug $124837.
1248 Only call wait_for_release_event for a KeyPress.
1249 Use local variable display instead of spi_get_display().
1250 (spi_controller_update_key_grabs): Move call to keycode_for_keysym
1253 2003-12-11 Padraig O'Briain <padraig.obriain@sun.com>
1255 * registryd/deviceeventcontroller.c (spi_dec_translate_mask):
1256 Allow for mask to contain values other than NumLock mask.
1259 2003-12-10 Padraig O'Briain <padraig.obriain@sun.com>
1261 * registryd/devieceventcontroller.c:
1262 (wait_for_release_event): Change first parameter from GdkEvent to
1264 (global_filter_fn); Correct call to wait_for_release_event.
1268 2003-12-08 Bill Haneman <billh@gnome.org>
1272 * registryd/ucs2keysym.c: New file.
1274 * registryd/deviceeventcontroller.c:
1275 (dec_keysym_for_unichar): Remove old partial implementation and
1276 replace with call to ucs2keysym(), which is much more complete.
1277 Thanks to Marcus G. Kuhn who put the original keysym2ucs.c into
1282 2003-12-05 Bill Haneman <billh@gnome.org>
1284 * configure.in: Version 1.3.9.
1286 * docs/reference/cspi/tmpl/spi_registry.sgml:
1287 Added reference to libspi/keymasks.h to the
1288 description of Registry queries: AccessibleKeyMaskType.
1291 2003-12-04 Bill Haneman <billh@gnome.org>
1293 Fix for bug #121974.
1295 * idl/Accessibility_Application.idl:
1296 (Accessibility::LOCALE_TYPE): New enum, corresponds to
1297 setlocale's LC_TYPEs.
1298 (Accessibility::Application::getLocale): New method.
1299 Allows clients to query the locale, by type, of an app.
1302 * cspi/spi_application.c:
1303 (AccessibleApplication_getLocale): New method, wraps IDL above.
1305 * libspi/application.c:
1306 (spi_application_class_init): Init epv entry for getLocale.
1307 (impl_accessibility_application_get_locale): Impl for above.
1309 * test/test-simple.c:
1310 (test_application): Added assertion for getLocale, i.e.
1311 that the string from AccessibleApplication_getLocale (app, type)
1312 is the same as that from setlocale (type, NULL);
1314 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
1316 *registryd/deviceeventcontroller.c: Add an idle handler which polls
1317 the keyboard on a timeout intil the key state goes from pressed to
1318 released. Fixes bug #111429.
1320 2003-12-03 Padraig O'Briain <padraig.obriain@sun.com>
1322 * atk-bridge/bridge.c: (atk_bridge_init): Create accessible application
1323 root object so that it is present when a context menu in an
1324 out-of-process applet is popped up.
1325 (spi_atk_bridge_do_registration): Create acceessible application root
1326 object only if it does not exist.
1328 This fixes bug #125834.
1330 2003-12-01 Bill Haneman <billh@gnome.org>
1332 Fix for bug #114926. Thanks to Michael Meeks for some of this patch.
1335 Added enum for AccessibleStreamableContentSeekType.
1336 (AccessibleStreamableContent_freeContentTypeList): New.
1338 * cspi/spi_streamablecontent.c:
1339 (accessible_bonobo_stream_client_seek): New private method.
1340 (AccessibleStreamableContent_seek): Implemented this method,
1341 using Bonobo_Stream_seek.
1342 (AccessibleStreamableContent_freeContentTypeList): New method
1343 for freeing the return value from
1344 AccessibleStreamableContent_getContentTypes.
1345 (stream_cache_item_free): Replaces stream_release; stop leaks.
1346 (stream_release): removed.
1347 (AccessibleStreamableContent_read): Use properly init'd CORBA_evs,
1348 free the memory properly.
1350 2003-12-02 Padraig O'Briain <padraig.obriain@sun.com>
1352 Fix for bug #116009.
1354 * cspi/spi-roletypes.h: Add SPI_ROLE_EDITBAR.
1356 * cspi/spi_accessible.c (cspi_init_role_table): Add SPI_ROLE_EDITBAR.
1358 * docs/reference/cspi/tmpl/spi-accessible.sgml: Add SPI_ROLE_EDITBAR
1360 * idl/Accessibility_Role.idl: Add ROLE_EDITBAR.
1362 2003-12-01 Bill Haneman <billh@gnome.org>
1364 Fix for bug/rfe #127463.
1366 * idl/Accessibility_Accessible.idl:
1367 (getLocalizedRoleName): New.
1368 (unimplemented4): Removed (replaced by above).
1370 * libspi/accessible.c:
1371 (impl_accessibility_accessible_get_local_role_name): New.
1372 (spi_accessible_class_init): Add getLocalizedRoleName entry to
1376 (Accessible_getLocalizedRoleName): New.
1378 * cspi/spi_accessible.c:
1379 (Accessible_getLocalizedRoleName): New.
1381 2003-12-01 Bill Haneman <billh@gnome.org>
1383 Fix for bug #118581.
1384 * idl/Accessibility_Text.idl:
1385 (getDefaultAttributes): New.
1386 (unimplemented4): Removed (replaced by above method).
1389 (impl_getDefaultAttributes): New method.
1390 (spi_text_class_init):
1391 initialize the get_default_attributes slot in the epv.
1394 (AccessibleText_getDefaultAttributes): New prototype.
1397 (AccessibleText_getDefaultAttributes): New method.
1399 2003-11-06 Padraig O'Briain <padraig.obriain@sun.com>
1401 * cspi/spi_accessible.c (cspi_init_relation_type_table): Do not
1402 write beyond the end of the table. Fixes bug #120473.
1404 2003-09-30 Christian Rose <menthos@menthos.com>
1406 * configure.in: Added "eu" to ALL_LINGUAS.
1408 2003-09-28 Kjartan Maraas <kmaraas@gnome.org>
1410 * configure.in: ALL_LINGUAS: Added no.
1412 2003-09-28 Gediminas Paulauskas <menesis@delfi.lt>
1414 * configure.in: Added lt to ALL_LINGUAS.
1416 2003-09-25 Padraig O'Briain <padraig.obriain@sun.com>
1418 * atk-bridge/bridge.c:
1419 (atk_bridge_init): Register event listeners always even for
1420 out-of-process applet.
1421 (spi_atk_bridge_toplevel_added): Remove call to
1422 spi_atk_bridge_event_type_consts as it is now called in atk_bridge_init
1423 (spi_atk_bridge_toplevelk_removed): Remove call to
1424 spi_atk_deregister_event_listenersa as the listeners are now always
1426 (spi_atk_bridge_register_application): Remove call to
1427 spi_atk_register_event_listeners as it is not done in atk_bridge_init
1429 This fixes bug #120991.
1431 * libspi/table.c (impl_getColumnDescription): Correct typo,
1432 pointed out by Bolian.Yin@sun.com.
1434 2003-09-21 Ã
\85smund Skjæveland <aasmunds@fys.uio.no>
1436 * configure.in: Added nn to ALL_LINGUAS (which is commented out).
1438 2003-09-08 Bill Haneman <billh@gnome.org>
1440 * configure.in: Revved to 1.3.7.
1442 This is the GNOME 2.4.0 release of at-spi.
1444 * docs/reference/cspi/Makefile.am:
1445 Removed spurious inclusion of 'index.sgml' in the
1446 html directory; this was breaking make distcheck and
1447 also some other build environments.
1449 2003-09-05 Padraig O'Briain <padraig.obriain@sun.com>
1451 * registryd/registry.[ch}:
1452 Add queue_handler_id and focus_object to SpiRegistry data structure.
1453 (registry_flush_event_queue): If event being discarded is
1454 "state-change:focused" store object as focus_object.
1455 (registry_start_queue): Remove queue handler and focus object
1457 (registry_discard_event): New function which discards a focus event
1458 if we had stored focus object in the registry.
1459 (registry_queue_event): Add new check that is_queueing is set as this
1460 function is reentrant.
1461 (registry_filer_event): Add call to registry_discard_event.
1463 This resolves issues raised in bug #108664.
1465 2003-09-05 Taneem Ahmed <taneem@bengalinux.org>
1467 * configure.in: Added "bn" to ALL_LINGUAS.
1469 2003-09-04 Bill Haneman <billh@gnome.org>
1471 * cspi/spi_event.c: Documentation improvements for
1472 (SPI_registerAccessibleKeylistener).
1474 * docs/reference/tmpl/spi_registry.sgml:
1475 Documentation improvements for SpiAccessibleKeylistenerCB.
1477 2003-09-02 Mugurel Tudor <mugurelu@go.ro>
1479 * configure.in: Added "ro" to ALL_LINGUAS.
1482 2003-09-01 Padraig O'Briain <padraig.obriain@sun.com>
1484 * cspi/spi_main.c (cspi_object_return): Ensure that reference count is
1485 not decremented to zero. Fixes bug #120725.
1487 2003-08-30 KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>
1489 * configure.in: Added "ja" to ALL_LINGUAS.
1491 2003-08-22 Samúel Jón Gunnarsson <sammi@techattack.nu>
1493 * configure.in: Added "is" to ALL_LINGUAS.
1495 2003-08-22 Christian Rose <menthos@menthos.com>
1497 * configure.in: Added "nl" to ALL_LINGUAS.
1499 2003-08-19 Padraig O'Briain <padraig.obriain@sun.com>
1501 * cspi/spi-private.h: Add declaration for _cspi_exceptoin_throw
1502 * cspi/spi_accessible.c (cspi_init_relation_type_table): Add call
1504 * cspi/spi_event.c: (AccessibleEvent_unref); Add casts to gfree
1506 * cspi/spi_main.c (SPI_Exception_getSourceType); Return the correct
1507 type for unspecified exception.
1508 * cspi_streamablecontect): Add include of string.h for memcpy.
1509 (stream_release): Correct call to bonobo_object_release_unref
1510 (stream_cache_item_free): Correct call to bonobo_object_release_unref
1511 * cspi/bonobo/spi-bonobo.c: (cspi_check_event): Add cast to second
1512 argument of _cspi_expection_throw.
1513 * libspi/hyperlink.c: Add include of libspi/action.h:
1514 (spi_hyperlink_new): Cast argument to spi_action_interface_new.
1515 * libspi/streamablecontent.c: add include of libspi/component.h.
1516 * regisrtyd/deviceeventcontroller.c:
1517 (spi_dec_translate_mask): Removed unused variable priv.
1518 (dec_synth_keysym): Initialize lock_mods to avoid compilker warning/
1519 * registryd/registry.c:
1520 (registry_filter_event): Remove unused variable queue_is-empty.
1521 (impl_registry_notify_event): Use correct modifier in fprintf call.
1523 This fixes compiler warnings reported in bug #120220.
1525 2003-08-18 Padraig O'Briain <padraig.obriain@sun.com>
1527 * registryd/registryd.c: Remove this file.
1529 2003-08-17 Sanlig Badral <badral@openmn.org>
1531 * configure.in: Added mn to ALL_LINGUAS.
1533 2003-08-16 Tõivo Leedjärv <toivo@linux.ee>
1535 * configure.in: Added et to ALL_LINGUAS.
1537 2003-08-13 Padraig O'Briain <padraig.obriain@sun.com>
1539 * test/event-listener-test.c: Change active-descendant to
1540 active-descendant-changed.
1542 2003-08-10 Sami Pesonen <sampeson@iki.fi>
1544 * configure.in: Added "fi" in ALL_LINGUAS.
1546 2003-08-08 Guntupalli Karunakar <karunakar@freedomink.org>
1548 * configure.in: Added "hi" in ALL_LINGUAS.
1550 2003-08-08 Padraig O'Briain <padraig.obriain@sun.com>
1552 * configure.in: Revved to 1.3.6.
1556 2003-08-07 Padraig O'Briain <padraig.obriain@sun.com>
1558 * registryd/deviceeventcontroller.c
1559 (spi_device_event_controller_object_finalize): Fix typo in previous
1562 2003-08-07 Marc Mulcahy <marc.mulcahy@sun.com>
1564 * registryd/deviceeventcontroller.c
1565 (spi_device_event_controller_object_finalize): Fix build on
1566 systems without XEvIE.
1568 2003-08-06 Brian Cameron <Brian.Cameron@sun.com>
1570 * acconfig.h, configure.in, registryd/Makefile.am,
1571 registryd/devicecontoller.[ch]: Add XEViE support.
1573 2003-08-06 Wang Jian <lark@linux.net.cn>
1575 * configure.in: Added "zh_CN" to ALL_LINGUAS.
1577 2003-08-06 Metin Amiroff<metin@karegen.com>
1579 * configure.in: Added "az" (Azerbaijani) to ALL_LINGUAS
1581 2003-08-06 Padraig O'Briain <padraig.obriain@sun.com>
1583 * idl/Accessibility_Registry.idl: Put MODIFIER_SHIFTLOCk and
1584 MODIFIER_ALT in correct place.
1586 This fixes part of bug #118114.
1588 2003-07-30 Alessio Frusciante <algol@firenze.linux.it>
1590 * configure.in: Added "it" (Italian) to ALL_LINGUAS.
1592 2003-07-28 Changwoo Ryu <cwryu@debian.org>
1594 * configure.in: Added "ko" to ALL_LINGUAS.
1596 2003-07-28 Ole Laursen <olau@hardworking.dk>
1598 * configure.in: Added "da" to the commented out ALL_LINGUAS.
1600 2003-07-27 Laurent Dhima <laurenti@alblinux.net>
1602 * configure.in: Added "sq" to ALL_LINGUAS.
1604 2003-07-27 Hasbullah Bin Pit <sebol@ikhlas.com>
1606 * configure.in: Added 'ms' (Malay) in ALL_LINGUAS.
1608 2003-07-24 Pablo Saratxaga <pablo@mandrakesoft.com>
1610 * configure.in: updated ALL_LINGUAS list
1612 2003-07-24 Dmitry G. Mastrukov <dmitry@taurussoft.org>
1614 * configure.in: Added Belarusian to ALL_LINGUAS.
1616 2003-07-23 Padraig O'Briain <padraig.obriain@sun.com>
1618 * cspi/spi_event.c (AccessibleEvent_unref): Call CORBA_free for
1620 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): Call
1621 CORBA_any__alloc to allocate CORBA_Any in InternalEvent.
1623 This fixes bug #116949.
1625 2003-07-22 Padraig O'Briain <padraig.obriain@sun.com>
1627 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
1628 Correct CSPI to SPI in function documentation.
1630 This fixes bug #118054.
1632 2003-07-16 Dmitry G. Mastrukov <dmitry@taurussoft.org>
1634 * configure.in: Added Russian to ALL_LINGUAS.
1636 2003-07-16 Duarte Loreto <happyguy_pt@hotmail.com>
1638 * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
1640 2003-07-14 Danilo Ã…Â Segan <dsegan@gmx.net>
1642 * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
1644 2003-07-10 Joel Brich <joel.brich@laposte.net>
1646 * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
1648 2003-07-07 Pablo Gonzalo del Campo <pablodc@bigfoot.com>
1650 * configure.in (ALL_LINGUAS): Added "es" (Spanish).
1652 2003-07-07 Padraig O'Briain <padraig.obriain@sun.com>
1654 * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
1655 resources allocated for AccessibleEvent. See cspi_event().
1657 * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
1658 static variable streams to NULL.
1660 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
1661 Update so that AcessibleEvent_ref will work.
1663 This fixes bug #116624.
1665 2003-07-06 Jordi Mallach <jordi@sindominio.net>
1667 * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
1669 2003-07-06 Christophe Merlet <redfox@redfoxcenter.org>
1671 * configure.in: Added "fr" (French) to ALL_LINGUAS.
1673 2003-07-02 Christian Neumair <chris@gnome-de.org>
1675 * configure.in: Added "de" (German) to ALL_LINGUAS.
1677 2003-07-01 Dafydd Harries <daf@parnassus.ath.cx>
1679 * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
1681 2003-07-01 Miloslav Trmac <mitr@volny.cz>
1683 * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
1685 2003-07-01 Artur Flinta <aflinta@cvs.gnome.org>
1687 * configure.in: Added "pl" to ALL_LINGUAS.
1689 2003-07-01 Gil "Dolfin" Osher <dolfin@rpg.org.il>
1691 * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
1693 2003-06-30 Bill Haneman <bill.haneman@sun.com>
1696 (get_action_from_servant):
1697 Removed assertion that action is implemented on an AtkObject.
1699 * libspi/hyperlink.c:
1700 (spi_hyperlink_new):
1701 Aggregate AccessibleAction interface on the hyperlink object if
1702 the object implements AtkAction. (This convention is used in
1705 2003-06-30 Bill Haneman <bill.haneman@sun.com>
1707 * configure.in: Revved to 1.3.5.
1709 * registryd/Accessibility_Registry.server.in.in:
1710 Marked up appropriate strings for translation.
1712 * atk-bridge/bridge.c: Marked a couple of
1713 user-visible warnings for translation. Questionable
1714 whether they are really useful, but possibly so.
1717 2003-06-28 Christian Rose <menthos@menthos.com>
1719 * configure.in: Added "sv" to ALL_LINGUAS.
1721 2003-06-26 Bill Haneman <bill.haneman@sun.com>
1723 * registryd/registry.c:
1724 (spi_registry_object_finalize): Unref the deviceeventcontroller.
1725 (registry_defer_on_event): Defer focus: events, this is an
1726 improvement to the patch for bug #108664.
1728 * TODO: Update with 2.4/"Dev Complete" items.
1730 2003-06-26 Padraig O'Briain <padraig.obriain@sun.com>
1732 * atk-bridge/bridge.c:
1733 (spi_atk_bridge_init_event_type_consts): Ensure that this function only
1734 looks up signals once.
1735 (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
1736 if doing registration.
1737 (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
1738 when doing registration.
1740 This fixes bug #115014.
1742 2003-06-25 Padraig O'Briain <padraig.obriain@sun.com>
1744 * atk-bridge/bridge.c:
1745 (atk_bridge_init): Add signal handler for children-changed:remove on
1746 root when in a BonoboComponent.
1747 (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
1748 for first toplevel only other incrememt variable toplevels.
1749 (spi_atk_bridge_toplevel_removed): For last toplevel deregister
1750 application and remove listeners.
1751 (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
1753 (spi_atk_deregister_event_listeners): New function which removes
1755 (reinit_register_vars): New fuction which reinitializes variables.
1757 This fixes bug #111578.
1759 2003-06-13 Bill Haneman <bill.haneman@sun.com>
1761 * configure.in: version 1.3.4.
1763 * cspi/spi_accessible.c:
1764 Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
1767 2003-06-13 Michael Meeks <michael@ximian.com>
1769 * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
1771 * cspi/spi_main.c (cspi_peek_ev): impl.
1773 2003-06-11 Padraig O'Briain <padraig.obriain@sun.com>
1775 * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
1777 * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
1779 * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role
1780 SPI_ROLE_AUTOCOMPLETE
1782 * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
1784 * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
1785 for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
1787 2003-06-11 Bill Haneman <bill.haneman@sun.com>
1789 * libspi/streamablecontent.h:
1790 * libspi/streamablecontent.c:
1791 New files, provide implementation/wrappers for
1792 Accessibility_StreamableContent.
1794 * cspi/spi_streamablecontent.c:
1795 Connected the C wrappers to the libspi C bindings.
1796 (AccessibleStreamableContent_close): New method.
1799 (AccessibleStreamableContent_close): New method, needed
1800 since we have an "open, [seek], read, close" model in cspi.
1802 2003-06-11 Bill Haneman <bill.haneman@sun.com>
1804 Fix for #108664; Padraig's revision of my original patch.
1806 * registryd/registry.h:
1807 Added event queue list, is_queuing, and exit_notify_timeout
1808 to the registry struct.
1810 * registryd/registry.c:
1811 (registry_init): Initialize new struct from registry.h.
1812 (impl_registry_notify_event):
1813 Filter events before notifying, in case some need to be
1815 (registry_filter_event): New,
1816 we defer certain incoming events (for instance
1817 window:deactivate) because we may wish to hide
1818 or reject them based on pending events. This is
1819 mostly a workaround for bug #108664.
1820 (registry_queue_event, registry_start_queue): New.
1821 (registry_defer_on_event): Test event to see if it
1823 (registry_reset_on_event): Returns TRUE if the
1824 event should cause a queue reset.
1825 (registry_discard_on_event): Returns TRUE if the event
1826 should cause the previous queue contents to be discarded.
1827 (registry_timeout_flush_queue): Flushes the pending event
1828 queue if no reset/discard-triggering events have come in
1829 within the timeout period.
1830 (registry_emit_event): New.
1831 (registry_clone_notify_context): New, used when queueing the
1832 event notify contexts.
1834 2003-06-10 Bill Haneman <bill.haneman@sun.com>
1836 * configure.in: Version revved to 1.3.2, lt 0.9.2
1837 Incremented ATK required version to 1.3.4.
1839 * cspi/spi_registry.c:
1840 (SPI_generateKeyEvent):
1841 We now pass the keystring along if it's non-null.
1843 * registryd/deviceeventcontroller.c:
1844 (keysym_mod_mask): New method, returns modifier mask
1845 required to generate a keysym from a given keycode.
1846 (dec_synth_keysym): New method.
1847 (dec_synth_keystring): New method.
1848 (dec_get_modifier_state): New method.
1849 (dec_lock_modifiers): New
1850 (dec_unlock_modifiers): New.
1851 (dec_keysym_for_unichar): New, rather brute-force
1852 conversion from UCS-4 to X KeySyms. Only works for
1853 Latin at the moment, with partial implementations for
1854 Greek, Hebrew, and (incomplete) Katakana.
1855 (impl_generate_keyboard_event): Now implement
1856 "KEYSTRING" synthesis and implement "KEYSYM"
1858 (keycode_from_keysym): Improved, passes a returned
1859 modmask value now if the corresponding param is non-NULL.
1861 Fixes bugs #92143 and #109776.
1864 * test/keysynth-test.c:
1865 New test program for key synthesis, to confirm fixes for
1869 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
1871 * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
1873 * cspi/spi_accessible.c (cspi_init_relation_type_table):
1874 Add line for RELATION_POPUP_FOR
1876 * docs/reference/cspi/tmpl/spi_relation.sgml:
1877 Add relation SPI_RELATION_POPUP_FOR
1879 * docs/reference/cspi/tmpl/spi_stateset.sgml:
1880 Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE
1882 * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
1884 * libspi/relation.c (spi_init_relation_type_table):
1885 Add line for RELATION_POPUP_FOR
1887 2003-06-10 Padraig O'Briain <padraig.obriain@sun.com>
1889 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
1890 there are still windows which have not been deleted and emit
1891 window:deactivate, if necessary and window:destroy events.
1892 This fixes bug #114370. The change on June 5th was not correct.
1894 2003-06-09 Bill Haneman <bill.haneman@sun.com>
1896 * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
1899 (SPI_dupString): Allow dup-ing of a string such that it's safe to
1901 New methods for client exception handling and interception.
1902 (SPI_exceptionHandlerPush): New - push a handler onto the stack.
1903 (SPI_exceptionHandlerPop): You guessed it...
1904 (SPI_getSourceType): Return the type of object which offended.
1905 (SPI_getExceptionCode): Return an enum code telling, possibly,
1906 what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
1907 (SPIAccessibleException_getSource): get the source object for
1908 exceptions that come from Accessibles, if SPIExceptionSourceType is
1909 SPI_EXCEPTION_SOURCE_ACCESSIBLE.
1910 (SPIException_getDescription): New, returns a string description of
1911 the problem. [Not yet a stable ABI, strings are not frozen]
1913 * cspi/spi-private.h:
1914 Added implementation details of opaque SPIException
1918 Implementations of above. Also
1919 (_cspi_exception_throw): new private method that
1920 dispatches exceptions to handlers, called from cspi-bonobo.c
1922 * cspi/bonobo/cspi-bonobo.c:
1923 (cspi_check_ev): call _cspi_exception_throw.
1924 Don't print a warning message if the exception has been
1925 handled by _cspi_exception_throw.
1927 2003-06-05 Padraig O'Briain <padraig.obriain@sun.com>
1929 * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if
1930 there are still windows which have not been deleted and emit
1931 window:deactivate, if necessary and window:destroy events.
1932 This fixes bug #114370.
1934 2003-06-03 Bill Haneman <bill.haneman@sun.com>
1937 (cspi_accessible_is_a): Make non-fatal
1938 if the object reference is dead.
1940 Mon Jun 2 15:35:29 2003 Jonathan Blandford <jrb@redhat.com>
1942 * cspi/spi_main.c: #include <stdio.h>
1943 * test/simple-at.c: ditto
1944 * test/event-listener-test.c: ditto
1945 * test/screen-review-test.c: ditto
1947 2003-05-30 Michael Meeks <michael@ximian.com>
1949 * test/test-simple.c (main): use CORBA_ORB_perform_work
1950 instead of an unnecessary linc_ call.
1952 2003-05-20 Padraig O'Briain <padraig.obriain@sun.com>
1954 * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
1955 Add SPI_STATE_INDETERMINATE.
1957 * cspi/spi_accessible.c (spi_state_to_corba): Add support for
1960 * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
1962 * libspi/stateset.c (init_state_type_tables): Add support for
1965 2003-05-19 Padraig O'Briain <padraig.obriain@sun.com>
1967 * configure: Update versions of atk and gail required.
1968 This fixes bug #113268.
1970 2003-05-02 Bill Haneman <bill.haneman@sun.com>
1972 * configure.in: Revved micro version to 1.3.1 (because of build fix).
1974 2003-05-02 Frederic Crozat <fcrozat@mandrakesoft.com>
1976 * libspi/Makefile.am:
1977 Ensure headers are generated before being used by c sources.
1979 2003-05-01 Bill Haneman <bill.haneman@sun.com>
1982 Simplified lt versioning rules.
1983 Incremented version to 1.3.0, to indicate that we're on the
1984 unstable branch now.
1986 2003-04-29 Padraig O'Briain <padraig.obriain@sun.com>
1988 * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
1989 Add MKDB_OPTIONS=--outtput-format=xml
1991 * docs/reference/cspi/at-spi-cspi-docs.sgml
1992 docs/reference/idl/at-spi-idl-docs.sgml:
1993 Convert to Docbook XML.
1995 This fixes bug #111793.
1997 2003-04-25 Padraig O'Briain <padraig.obriain@sun.com>
1999 * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
2000 AcccessibleKeyEventType, AccessibleKeyMaskType.
2002 * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
2004 * cspi/state-types.h: Add documentation for AccessibleState.
2006 * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
2007 AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
2008 AccessibleKeySynthType, AccessibleKeyListenerSyncType,
2009 AccessibleComponentLayer.
2011 * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs
2014 * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
2016 * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of
2017 Accessible. Add description of AccessibleEvent,
2018 AccessibleEventListenerCB.
2020 * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra
2023 * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra
2024 documentation. Add description of AccessibleKeystrokeListenerCB,
2025 AccessibleKeyEventMask, AccessibleModifierMaskType,
2026 AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
2027 AccessibleDeviceEventMask, AccessibleDeviceListenerCB.
2029 * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
2032 * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra
2035 This fixes bug #104730.
2037 2003-04-24 Padraig O'Briain <padraig.obriain@sun.com>
2039 * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
2040 Set is_text field of Accessibility_DeviceEvent data structure.
2042 * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
2043 is-text field of AccessibleDeviceEvent data structure.
2045 This addresses part of bug #108666.
2047 * registryd/devcieeventcontroller.c: Unset debug option.
2049 2003-04-14 Padraig O'Briain <padraig.obriain@sun.com>
2051 * cspi/accessible.c:
2052 (cpi_initial_relation_type_table): New function which initializes
2053 mapping between Accessibility_RelationType and AccessibleRelationType.
2054 (cspi_relation_type_from_spi_relation_type): New function which
2055 translates an Accessibility_RelationType into an AccessibleRelationType.
2056 (AccessibleRelation_getRelationType): Use
2057 cpi_relation_type_get_spi_relation_type to return correct value.
2058 (spi_state_to_corba): Return correct type for default case.
2060 * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
2061 Use Accessibility_EventType instead of Accessibility_KeyEventType.
2063 * cspi/cspi-bonobo-listener.c:
2064 Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
2067 * libspi/accessible.c, libspi/action.c, libspi/application.c,
2068 libspi/base.c, libspi/component.c, libspi.devicelistener.c,
2069 libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
2070 libspi/image.c, libspi/listener.c, libspi/selection.c,
2071 libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c,
2072 registryd/desktop.c, registryd/registry.c:
2073 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
2075 * libspi/eventlistener.c
2076 Remove semicolon after BONOBO_TYPE_FUNC.
2078 * libspi/relation.c:
2079 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
2080 (spi_init_relation_type_table): Initialize using correct type.
2082 * registryd/desktop.c:
2083 Remove semicolon after BONOBO_TYPE_FUNC_FULL.
2084 (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead
2085 of Accessibility_KeyEventType.
2087 * test/key-listener-test.c (report_tab_key_event): Use fprintf
2090 * tests/simple-at.c, tests/screen-review-test.c:
2091 Add include for <strings.h>.
2093 * tests.stress-test.c:
2094 Add includes for <unistd.h> and <bonobo/bonobo-main.h>
2096 These changes fix compiler warnings when using FORTE compiler on
2097 Solaris; fixes bug #107479.
2100 2003-04-10 Bill Haneman <bill.haneman@sun.com>
2103 * configure.in: revved to 1.1.10
2105 * libspi/keymasks.h:
2106 (SPI_KEYMASK_NUMLOCK): Added.
2108 * registryd/deviceeventcontroller.c:
2109 (spi_key_event_matches_listener): AND with a smaller
2110 bitmask (as we should).
2111 (spi_dec_translate_mask):
2112 New method, sets the virtual NumLock modifier bit
2113 if numlock is on. Eventually it can handle other virtual
2114 modifier bits if needed, or other marshalling from
2115 at-spi modifier masks to platform (X) masks.
2116 (spi_dec_key_listener_new):
2117 Call spi_dec_translate_mask to set up virtual mod bits
2118 in the 'mask' field when creating a new listener struct.
2119 (spi_dec_emit_modifier_event):
2120 Set the virtual (i.e. NumLock) bits before emitting event.
2121 (spi_controller_register_with_devices):
2122 Query for the NumLock modifier 'physical' bit if Xkb is
2123 present, for use in above methods.
2127 2003-04-10 Bill Haneman <bill.haneman@sun.com>
2129 * registryd/deviceeventcontroller.c:
2130 (spi_keystroke_from_x_key_event):
2131 Instead of checking to see if the keysym is
2132 printable, check the string from XLookupString
2133 if available, get the first unicode character from it,
2134 and call g_unichar_isprint to determine whether the
2135 is_text flag should be TRUE or FALSE.
2139 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
2141 * atk-bridge/bridge.c: Add support for extended events
2142 * cspi/spi_event.c: Add documentation and implementation for
2144 * tests/event-listener-test.c: Add tests for extended events.
2146 This fixes bugs #100424 and #100426.
2148 2003-04-02 Padraig O'Briain <padraig.obriain@sun.com>
2150 * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
2151 of LT_CURRENT. This fixes bug #89350.
2153 2003-04-01 Padraig O'Briain <padraig.obriain@sun.com>
2155 * atk-bridge/bridge.c (spi_bridge_signal_listener): Add check for
2156 number of signal parameter values before accessing them. This fixes
2159 2003-04-01 Bill Haneman <bill.haneman@sun.com>
2161 * configure.in: Fixed duplicate inclusion of -lspi.
2162 * branched for gnome-2-2/HEAD.
2163 [created tag "gnome-2-2"]
2165 2003-03-07 Bill Haneman <bill.haneman@sun.com>
2167 * configure.in: 1.1.9 release.
2170 2003-03-07 Bill Haneman <bill.haneman@sun.com>
2172 [needed by GOK, to fix bugs 107985 and 107988]
2173 * registryd/deviceeventcontroller.c:
2174 (spi_dec_clear_unlatch_pending):
2175 New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
2176 (spi_dec_set_unlatch_pending):Revised DEBUG comment.
2177 (spi_dec_init_mouse_listener):Emit warning if mouse button
2179 (spi_device_event_controller_forward_mouse_event):
2180 Removed unnecessary parens from a conditional.
2181 (global_filter_fn):Added TODO comment.
2182 (impl_generate_keyboard_event):
2183 Cancel a pending relatch if a 'delatching' key was
2186 2003-03-07 Padraig O'Briain <padraig.obriain@sun.com>
2188 * atk-bridge/bridge.c:
2189 Change atk_signal_child_changed to atk_signal_children_changed.
2190 Reorganize code in spi_atk_bridge_signal_listener().
2192 * test/event-listener-test.c:
2193 Add children_changed_listener and report_children_changed_event()
2194 to test AccessibleChildEvent_getChildAccessible.
2196 2003-03-05 Padraig O'Briain <padraig.obriain@sun.com>
2198 * cspi/spi_event.c (cspi_internal_event_get_text): Change
2199 g_strdup to CORBA_String_dup (bug #105291)
2201 * test/event-listener-test.c (report_text_event): Add call to
2204 2003-02-28 Bill Haneman <bill.haneman@sun.com>
2206 * registryd/deviceeventcontroller.c:
2207 (spi_keystroke_from_x_key_event):
2208 Fix string and keysym return codes to match modifier state.
2211 2003-02-28 Bill Haneman <bill.haneman@sun.com>
2213 * registryd/deviceeventcontroller.c:
2214 (spi_keystroke_from_x_key_event):
2215 Fix segv due to improper use of isprint(c). [bug #107254]
2217 2003-02-24 Bill Haneman <bill.haneman@sun.com>
2220 (get_accessible_text_boundary_type):
2221 Move default return value to (new) default case in switch.
2222 (get_accessible_text_clip_type):
2223 Move default return value to (new) default case in switch.
2225 * libspi/application.c:
2226 (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
2227 Remove unused methods.
2228 (impl_accessibility_application_register_object_event_listener):
2229 Remove unused methods.
2232 Added #include of <math.h>.
2234 * registryd/deviceeventcontroller.c:
2235 (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since
2236 we don't currently use this method.
2237 (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
2239 (impl_generate_key_event):
2240 Remove unused variables.
2241 (impl_generate_mouse_event):
2242 Initialize button to zero, just in case we get an invalid
2243 input. Added support for mouse buttons 4 and 5.
2244 (spi_device_event_controller_new):
2245 Removed unused variable declaration for 'private'.
2247 Added #include of <gdk/gdk.h>
2249 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
2251 * configure.in: Update to work when X is not installed in expected
2252 location. Fixes bug #105836.
2254 * atk-bridge/bridge.c
2255 (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
2257 (spi_atk_register_event_listener): Add signal listener for
2259 (spi_atk_bridge_signal_listener): Event event when link-selected
2260 signal is emitted. (bug #104622)
2262 * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
2263 on returned string. (bug #105291)
2265 * test/event-listener-test.c: Add test for link-selected.
2267 2003-02-14 Padraig O'Briain <padraig.obriain@sun.com>
2269 * atk-bridge/Makefile.am: Correct typo in previous commit.
2271 2003-02-13 Padraig O'Briain <padraig.obriain@sun.com>
2273 * atk-bridge/Makefile.am: Allow for build directory to be different
2274 from source directory
2276 * registryd/Makefile.am: Allow for build directory to be different
2277 from source directory
2281 2003-01-29 Bill Haneman <bill.haneman@sun.com>
2284 Fixed dependencies for libcspi so that libspi gets pulled in
2285 properly. Fixes 104741.
2289 Clean up inline docs a little.
2291 2003-01-27 Padraig O'Briain <padraig.obriain@sun.com>
2293 * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
2294 This is done by implementing AtkComponent for SpiAtkDesktop, which is
2295 the AtkObject within an SpiDesktop.
2296 This addresses bug #101524.
2298 * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
2299 Remove call to gdk_init().
2301 * registryd/registry.c (spi_registry_init): Add call to gdk_init()
2302 so that Display is set when SpiDesktop is created.
2304 2003-01-21 Padraig O'Briain <padraig.obriain@sun.com>
2306 * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
2307 This fixes bug #102830.
2309 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
2311 * test/test-simple.c: Update to take account of fact that GailButton
2312 now implements AtkText.
2313 (create_text_window): Set name on AtkObject for GtkEntry.
2314 (validate_accessible): Check accessible name before calling test_text().
2316 * libspi/Makefile.am: Fix problem with building outside of source
2317 directory. Bug #98120.
2319 * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
2320 typo in documentation comments. Bug #94275.
2322 2003-01-15 Padraig O'Briain <padraig.obriain@sun.com>
2324 * libspi/text.c (impl_getBoundedRanges): Bug fix.
2326 2003-01-10 Padraig O'Briain <padraig.obriain@sun.com>
2329 Add includes to avoid compiler warnings on Solaris.
2330 (impl_getRangeExtents): Bug fix.
2332 2002-12-17 Bill Haneman <bill.haneman@sun.com>
2334 Fix for 100944, [API addition approved by Gman and murrayc].
2341 * idl/Accessibility_Text.idl:
2342 (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
2343 (Text::getRangeExtents): New method for efficient
2344 bounds query of a text range.
2345 (Text::getBoundedRanges): New method for efficient
2346 clipping of text to bounding boxes.
2347 (unImplemented7, unImplemented8):
2348 Removed these padding methods to preserve bincompat.
2351 (impl_getRangeExtents): implementation of new IDL.
2352 (impl_getBoundedRanges): implementation of new IDL.
2353 (SpiTextRect): Internal use struct.
2354 (_spi_text_rect_union): internal method, calculates union of two
2355 SpiTextRect bounding rects.
2356 (_spi_text_range_seq_from_gslist): internal method, allows us
2357 to build our sequence efficiently as a gslist then convert it
2359 (_spi_bounds_contain): internal method, determines whether
2360 a text character is "in" or "out" of a clip rect according to
2361 values of TEXT_CLIP_TYPE.
2362 (spi_text_class_init): Initialize the new methods in the epv.
2365 (AccessibleTextClipType): New enum used by screen review api.
2366 (AccessibleTextRange): New struct used by screen review api.
2367 (AccessibleText_getRangeExtents):
2368 cspi binding for Accessibility_Text_getRangeExtents.
2369 (AccessibleText_getBoundedRanges):
2370 cspi binding for Accessibility_Text_getBoundedRanges.
2371 (AccessibleTextRange_freeRanges): convenience method.
2374 (AccessibleText_getRangeExtents):
2375 cspi binding for Accessibility_Text_getRangeExtents.
2376 (AccessibleText_getBoundedRanges):
2377 cspi binding for Accessibility_Text_getBoundedRanges.
2378 (AccessibleTextRange_freeRanges): convenience method.
2379 (get_accessible_text_clip_type): internal conversion method.
2380 (get_accessible_text_ranges_from_range_seq): internal conversion method.
2382 * registryd/deviceeventcontroller.c:
2383 (spi_dec_mouse_check):
2384 Improved behavior for mouse:abs events
2385 [same granularity as mouse:rel events, and no
2386 events when mouse is idle].
2388 2002-12-16 Michael Meeks <michael@ximian.com>
2390 * cspi/spi_accessible.c (spi_state_to_corba): rename.
2392 * libspi/stateset.c (state_spi_to_atk): split out
2393 ( fix several remote array bounds nasties )
2394 (spi_atk_state_set_from_sequence, impl_contains, impl_add),
2395 (impl_remove): make safe from array bounds issues.
2396 (spi_atk_state_from_spi_state): impl.
2398 * libspi/stateset.h (spi_state_set_cache_is_empty):
2399 add a set of wrapper defines to get layering right.
2401 * cspi/spi_accessible.c: update state set stuff to
2404 2002-12-14 Michael Meeks <michael@ximian.com>
2406 * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
2407 to avoid 2 roundtrips to the registry per key event
2408 (spi_atk_bridge_key_listener): upd.
2409 (deregister_application): release the dec.
2411 * registryd/registry.c (notify_listeners_cb):
2412 bin lots of re-enterant complexity - we no longer
2413 do a round-trip bonobo ref here, ensure that a single
2414 listener's exception failure won't poison all other
2416 (impl_registry_notify_event): bin obvious memory leak.
2418 2002-12-13 Michael Meeks <michael@ximian.com>
2420 * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
2421 init the ev so the error is meaningful.
2422 (spi_atk_bridge_key_listener): ditto.
2424 * cspi/spi_main.c (cspi_ev): init the ev so we start
2425 with a clean slate, otherwise the first exception
2426 kills us completely.
2428 * cspi/spi_text.c (get_accessible_text_boundary_type):
2429 add a fallthrough for no warnings.
2431 * cspi/spi_registry.c: prune unused warnings.
2433 * cspi/spi_main.c (cspi_object_take): fix
2434 mind-blowing brokenness ( by watching the compile
2437 * cspi/spi_accessible.c (Accessible_getStateSet):
2438 re-impl. to use an AtkStateSet.
2439 (spi_state_type_from_accessible_state),
2440 (init_state_table): bin these.
2442 * libspi/stateset.c (spi_atk_state_set_from_sequence):
2444 (atk_state_set_from_accessibility_state_set): here.
2446 * cspi/spi_accessible.c (spi_state_to_atk): impl.
2447 (AccessibleStateSet_contains, AccessibleStateSet_ref),
2448 (AccessibleStateSet_unref, AccessibleStateSet_contains),
2449 (AccessibleStateSet_add, AccessibleStateSet_remove),
2450 (AccessibleStateSet_equals, AccessibleStateSet_compare),
2451 (AccessibleStateSet_isEmpty): re-write to use a local
2454 2002-12-13 Bill Haneman <bill.haneman@sun.com>
2456 * configure.in: Revved to 1.1.7 (new keymask vals).
2458 2002-12-10 Bill Haneman <bill.haneman@sun.com>
2460 * libspi/keymasks.h:
2461 Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
2463 2002-12-10 Padraig O'Briain <padraig.obriain@sun.com>
2466 (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent()
2467 to compare two CORBA_TypeCodes.
2468 (cspi_internal_event_add): Silence warning from FORTE compiler.
2470 * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to
2471 avoid implicit declaration of functions.
2473 2002-12-09 Padraig O'Briain <padraig.obriain@sun.com>
2475 * atk-bridge/bridge.c:
2476 (spi_atk_bridge_init_event_type_consts): Store signal id for
2477 active-descendant-changed signal.
2478 (spi_atk_register_event_listeners): Add signal listener for
2479 active-descendant-changed signal,
2480 (spi_atk_bridge_signal_listener): Move code in function
2481 spi_atk-signal_emit_event() into this function.
2482 Add support for active-descendant-changed
2483 Update support for child-changed signal.
2484 (spi_bridge_window_event_listener): Silence warning.
2486 * libspi/spi_private.[ch]:
2487 (spi_init_any_object): Change second parameter from CORBA_Object to
2489 Omit call to CORBA_Object_duplicate().
2490 Set CORBA_any's _value to CORBA_Object*.
2492 2002-12-06 Bill Haneman <bill.haneman@sun.com>
2498 (AccessibleEvent_ref, AccessibleEvent_unref):
2499 New methods, for persisting an event outside the emission context.
2500 Must be used if the new accessor methods are to be called
2501 outside of the event listener's callback.
2503 * cspi/bonobo/cspi-bonobo.c:
2504 (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
2505 as second parameter instead of NULL, so we can call
2506 cspi_check_ev afterwards.
2509 (cspi_object_take): New internal method,
2510 converts a CORBA_Object reference to a hard ref on
2511 an Accessible if possible, returning NULL if the object
2512 reference is invalid or an Accessible * otherwise.
2515 (AccessibleEvent_ref):
2516 Increment the event's internal private refcount, and
2517 add the event's internal struct to an internal cache
2518 if it's not already there.
2519 (AccessibleEvent_unref):
2520 Decrement the event's refcount and remove it from
2521 the cspi event cache if refcount==0.
2522 (cspi_event_compare): New private method.
2523 Compares two event structs via their ids. Used
2525 (cspi_internal_event_lookup): New private method.
2526 (cspi_internal_event_check): New private method,
2527 a 0-order sanity check for events to make sure their
2528 private data is intact.
2529 (cspi_internal_event_add, cspi_internal_event_remove):
2530 New private methods for managiing the event cache.
2532 * cspi/bonobo/cspi-bonobo-listener.c:
2534 Initialize the new private data elements (id, magic, ref_count).
2536 * atk-bridge/bridge.c:
2537 (spi_atk_bridge_signal_listener):
2538 Fixed bug #100530, passing wrong params to emission func.
2540 * registryd/deviceeventcontroller.c:
2541 (spi_dec_button_update_and_emit):
2542 Fixed type in mask bit operations; fix for #99799.
2544 2002-12-02 Bill Haneman <bill.haneman@sun.com>
2546 Removed some of the more dangerous workarounds from
2547 previous commit; they are only needed by GOK, which
2548 in reality should be using another method to accomplish
2549 the goals. So on reconsideration some of the workarounds
2550 need to be reverted:
2552 * registryd/deviceeventcontroller.c:
2553 (spi_keycodes_contain, spi_dec_init_keycode_list):
2554 Removed these methods, used only by a nasty hack to try
2555 and detect whether a key synthesis should be allowed
2556 to reset the XKB latch state or not. This code was only
2557 required to work around an interaction between GOK,
2558 button events, and XKB.
2559 (impl_generate_key_event):
2560 Removed hack at end of key generation that tried to
2561 "do the right thing" if XKB latch keys were generated
2562 in the midst of button press/release pairs.
2565 Added a check for HAVE_XINPUT. Not normally used yet.
2567 2002-11-25 Bill Haneman <bill.haneman@sun.com>
2569 Workarounds and fixes for mouse event/XKB interaction.
2571 * registryd/deviceeventcontroller.c:
2572 (spi_keycodes_contain, spi_dec_init_keycode_list):
2573 New internal methods.
2574 (spi_dec_set_unlatch_pending):
2575 Split the method that tells XKB to expect an
2576 unlatch (and revert it) out of the rest of the
2577 event handling code. This method is called by the
2578 two mouse event handlers (the poll and the filter).
2579 (spi_dec_update_and_emit, spi_dec_mouse_check):
2580 New methods split from spi_dec_poll_mouse_moved.
2581 The second one is now called from inside the filterFn
2582 when an XKB delatch event is received, to determine
2583 whether to revert the delatch or not.
2584 (spi_poll_mouse_moved): Refactor; also we can now
2585 properly handle the case where multiple button states
2586 have changed between polling cycles and we didn't get
2587 notified due to another client's grab.
2589 Synchronize the server while handling an XKB notification.
2590 Ugly, but apparently necessary to avoid nasty races.
2591 Check the mouse state on receipt of an XKB latch change,
2592 to decide whether to revert the latch or not. (Latches are
2593 reverted if there is an immediately preceding mouse button
2594 event that a client has consumed, in which case we don't want
2595 the user to see the side-effect of the event).
2596 (spi_device_event_controller_forward_mouse_event):
2597 Check for modifier events and fire before resetting mouse_mask_state,
2598 prevents losing modifier events.
2600 (impl_generate_keyboard_event):
2601 If we've just generated a keyboard event for a non-shift key,
2602 we don't want to revert the pending XKB latch.
2603 Otherwise, check the modifier state (via a call to
2604 spi_dev_mouse_check) and set the relatch mask to
2605 that state before returning.
2607 2002-11-24 Bill Haneman <bill.haneman@sun.com>
2610 Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
2613 * atk-bridge/bridge.c:
2614 (spi_atk_register_event_listeners):
2615 Don't re-register for ATK events if the registry has died
2616 and the app needs to re-register; the ATK listeners are in
2617 process and doing so will cause duplicate emission.
2619 * registryd/deviceeventcontroller.c:
2620 (spi_poll_mouse_moved):
2621 Reformat the source, detect and emit multiple button-change
2622 events (i.e. if multiple buttons have changed between poll
2624 Add code to detect mouse-down events even when the pointer
2625 is grabbed; workaround for GOK bug 98420.
2626 (spi_controller_register_with_devices):
2627 Call XTestGrabControl with 'impervious' flag set to True,
2628 allows us to synthesize events and query the pointer even during
2629 an active grab by another client.
2630 (spi_device_event_controller_forward_mouse_event):
2631 Set the mouse_mask_state to the mouse_button_state from
2632 the intercepted event, to synchronize the grab listener with
2635 2002-11-20 Bill Haneman <bill.haneman@sun.com>
2637 * cspi/spi_accessible.c:
2638 (AccessibleRole_getName):
2639 Added necessary strings for making this (deprecated)
2640 method work with the new role types.
2641 (init_role_table, role_table):
2642 Added definition of SPI_ROLE_APPLICATION.
2644 * libspi/spi-roletypes.h:
2645 Added SPI_ROLE_APPLICATION.
2647 * idl/Accessibility_Role.idl:
2648 Added ROLE_APPLICATION.
2650 * docs/reference/cspi/at-spi-cspi-decl.txt:
2651 Added SPI_ROLE_APPLICATION to docs.
2653 2002-11-20 Padraig O'Briain <padraig.obriain@sun.com>
2655 * cspi/spi_accessible.c
2656 (cspi_init_role_table): Do not write beyond end of role_table.
2657 (Accessible_getRole): Use correct type for value returned by
2658 Accessibility_Accessible_getRole().
2660 * libspi/accessible.c (spi_init_role_lookup_table): Do not write
2661 beyond end of role_table. (This fixes bug #98269)
2663 * libspi/application.c: Add include file spi-private.h for
2664 definition of spi_init_any_nil.
2666 2002-11-19 Bill Haneman <bill.haneman@sun.com>
2670 * libspi/spi-private.h:
2671 Added DGB() macro, and extern int _dbg declaration.
2673 * registryd/registry.c:
2674 (definitions) storage for _dbg.
2675 (spi_registry_init):
2676 Get environment variable "AT_SPI_DEBUG".
2677 (spi_registry_set_debug):
2678 New method, to initialize _dbg value.
2679 (spi_listener_struct_new, spi_registry_object_finalize):
2680 (notify_listeners_cb):
2681 Changed fprintfs to use DBG and g_warning().
2683 * registryd/deviceeventcontroller.c:
2684 (_deregister_keygrab, spi_controller_register_device_listener):
2685 Changed debug/warning messages to use DBG macro.
2687 * libspi/listener.c:
2688 (impl_notify_event):
2689 Changed warning messages to use DBG macro and g_warning().
2691 * atk-bridge/bridge.c:
2692 (atk_bridge_init, spi_atk_bridge_get_registry):
2693 (spi_atk_bridge_exit_func):
2694 (spi_atk_bridge_property_event_listener):
2695 Changed status, warning, and error messages to use
2696 g_warning, g_message, and DBG macros.
2699 Read the state of the AT_SPI_DEBUG environment variable
2700 and set a local '_dbg' accordingly.
2702 2002-11-19 Bill Haneman <bill.haneman@sun.com>
2704 FIXES for 98836, 98842, other bugs.
2707 Revved to 1.1.4, interface-age=4, binary-age=4.
2709 * registryd/deviceeventcontroller.c:
2711 Fixed crasher bug in last_mouse_pos initialization.
2713 * registryd/registry.c:
2714 (desktop_add_application, desktop_remove_application):
2715 Added (and then commented out) some support for
2716 object context marshalling. [TODO]
2718 * atk-bridge/bridge.c:
2719 (spi_atk_bridge_event_context_create):
2720 Commented out object context creation until it can
2721 be properly tested and debugged.
2723 * registryd/registry.c:
2724 (impl_registry_notify_event):
2725 Fixed crasher bug, we were calling
2726 spi_re_entrant_list_foreach () with an empty list.
2728 2002-11-18 Bill Haneman <bill.haneman@sun.com>
2730 * idl/Accessibility_Action.idl:
2731 * idl/Accessibility_Component.idl:
2732 * idl/Accessibility_Desktop.idl:
2733 * idl/Accessibility_Event.idl:
2734 * idl/Accessibility_Hyperlink.idl:
2735 * idl/Accessibility_Image.idl:
2736 * idl/Accessibility_Relation.idl:
2737 * idl/Accessibility_Selection.idl:
2738 * idl/Accessibility_State.idl:
2739 * idl/Accessibility_Value.idl:
2740 Updated unimplemented slot count to minimum of
2741 four for all interfaces, for ABI freeze.
2743 * idl/Accessibility_EditableText.idl:
2744 * idl/Accessibility_Text.idl:
2745 Updated unimplemented slot count to six
2748 * idl/Accessibility_Registry.idl:
2749 Updated unimplemented slot count to six
2750 (also for DeviceEventController),
2753 * idl/Accessibility_Table.idl:
2754 Updated unimplemented slot count to eight,
2757 * idl/Accessibility_Event.idl:
2758 Added CORBA_any "any_data" member to Event struct.
2760 * idl/Accessibility_Event.idl:
2761 Added CORBA_any "any_data" member to Event struct.
2763 * atk-bridge/bridge.c:
2765 atk_signal_text_changed, atk_signal_child_changed,
2766 signal ids queried from gtype system.
2767 (AtkBridgeEventContextType): New enum.
2768 (AtkBridgeEventContextData): New struct.
2769 (AtkBridgeEventContext): New struct.
2770 (atk_bridge_init_event_type_consts):
2771 New method, initializes type contants for comparison
2772 prior to emit_eventv.
2773 (atk_bridge_event_context_init): New method,
2774 initializes a CORBA_any from an AtkBridgeEventContext.
2775 (atk_bridge_focus_tracker): Call spi_init_any_nil to
2776 initialize the event.any_data struct.
2777 (spi_atk_bridge_event_context_create): New method,
2778 creates an AtkBridgeEventContext from signal/event info.
2779 (spi_atk_bridge_event_context_free): New method.
2780 (spi_atk_emit_eventv): Changed to take an
2781 AtkBridgeEventContext parameter. We now initialize
2782 the event.any_data member prior to notifying the
2783 Registry, via the AtkBridgeEventContext.
2784 (spi_atk_bridge_property_event_listener):
2785 (spi_atk_bridge_state_event_listener):
2786 Match emit_eventv signature.
2787 (spi_atk_bridge_object_event_listener):
2788 Match emit_eventv signature, and create an
2789 event context from the event details.
2790 Free the event context afterwards.
2791 (spi_atk_bridge_window_event_listener):
2792 Create an event context, pass it to the
2796 (AccessibleEvent_getContextString):
2797 (AccessibleEvent_getContextObject):
2798 New methods, allow query of AccessibleEvent objects
2799 for more context details (via the "any_data" member
2800 of the Event struct, above).
2803 Definitions for AccessibleEvent_getContextString
2804 and AccessibleEvent_getContextObject.
2806 * cspi/spi_listener.h:
2807 (InternalEvent): New struct.
2810 (AccessibleEvent_getContextString):
2811 (AccessibleEvent_getContextObject):
2812 Implementations of new methods, for obtaining
2813 additional context information from some event types.
2815 * cspi/spi_registry.c:
2816 (SPI_registerGlobalEventListener):
2817 Added mention of active-descendant-changed event in docs.
2819 * cspi/cspi-bonobo-listener.c:
2821 Marshal the any into the AccessibleEvent via
2824 * libspi/spi-private.h:
2825 #include <orbit/orbit.h>
2827 (spi_init_any_string):
2828 (spi_init_any_object):
2829 New convenience function declarations.
2833 (spi_init_any_string):
2834 (spi_init_any_object):
2835 New convenience function implementations.
2837 * registryd/deviceeventcontroller.c:
2838 (spi_poll_dec_mouse_moved):
2839 (spi_device_event_controller_forward_mous_event):
2840 Initialize any_data member of event.
2841 (spi_deregister_controller_device_listener):
2842 Fix incorrect param pass which was preventing deregistration.
2844 * registryd/registry.c:
2845 (desktop_add_application):
2846 (desktop_remove_application):
2847 Add object data to event's any_data before dispatch.
2849 Fix for error messages from GAIL.
2851 * test/event-listener-test.c:
2852 Test new ContextString and "any_data" API:
2853 (report_text_event): New method query and output context string.
2854 (main): register a new text listener with report_text_event
2857 2002-11-19 Darren Kenny <darren.kenny@sun.com>
2859 Fixes for bugs 98127 and 97914.
2860 * cspi/spi-roletypes.h:
2861 Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
2863 * cspi/spi-statetypes.h:
2864 Added SPI_STATE_MANAGES_DESCENDANTS
2866 Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
2867 SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
2868 * cspi/spi_accessible.c:
2869 Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
2870 Added mapping from SPI_STATE_MANAGES_DESCENDANTS to
2871 Accessibility_STATE_MANAGES_DESCENDANTS
2872 * libspi/accessible.c:
2873 Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
2874 Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER}
2875 As requested by Bill, I also cleaned up the alignment.
2876 * libspi/relation.c:
2877 Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
2878 EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
2879 * libspi/stateset.c:
2880 Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
2881 Accessibility_STATE_MANAGES_DESCENDANTS
2882 * docs/reference/cspi/tmpl/spi_accessible.sgml:
2883 Document changes reflecting modifications to roles.
2884 * docs/reference/cspi/tmpl/spi_relation.sgml:
2885 Document changes reflecting modifications to relations.
2886 * docs/reference/cspi/tmpl/spi_stateset.sgml:
2887 Document changes reflecting modifications to states.
2889 2002-11-17 Bill Haneman <bill.haneman@sun.com>
2892 Revved to 1.1.3, interface-age=3, binary-age=3.
2893 Added REBUILD macro.
2896 Removed accessx-gui from the tests, since we have a nice
2897 keyboard accessibility capplet now :-)
2899 * test/keysynth-demo.c:
2900 (increment_scan): removed do-nothing default: case,
2903 * test/visual-bell.c:
2904 (main) : removed do-nothing default: case,
2907 * cspi/spi_action.c:
2908 (AccessibleAction_getKeyBinding_):
2909 Documented keybinding string format.
2913 (AccessibleText_getAttributes):
2914 Documented the text attribute string format.
2915 It's changed to use semicolon delimiters also,
2916 to prevent clashes with CSS attributes, but the old
2917 trick of looking for ", " strings will still work
2918 (as unreliably as ever). Fix for bug related to 97916.
2921 Include <cspi/bonobo/cspi-bonobo-listener.h>
2922 Fixes build warning.
2923 (SPI_freeAccessibleKeySet):
2924 (AccessibleKeystrokeListener_addCallback):
2925 (AccessibleKeystrokeListener_removeCallback):
2926 Modify to use AccessibleDeviceListener API internally,
2927 instead of AccessibleKeystrokeListener.
2929 * idl/Accessibility_Event.idl:
2930 Added two more empty slots to EventListener (for a total of four).
2932 * idl/Accessibility_Accessible.idl:
2933 Added four empty slots to Accessible interface.
2935 2002-11-15 Bill Haneman <bill.haneman@sun.com>
2937 * idl/Accessibility_Registry.idl:
2938 (KeyEventType, EventType):
2939 Marked KeyEventType as deprecated; it duplicates
2940 functionality of EventType, which has been extended to
2941 include Mouse-button events.
2942 (KeyEventTypeSeq): defined in terms of EventType.
2943 (registerDeviceEventListener, deregisterDeviceEventListener):
2944 New methods, for managing listeners to device events,
2945 which potentially may consume them.
2948 Added definition for AccessibleDeviceListener.
2950 * cspi/spi-listener.h:
2951 (enum AccessibleDeviceEventType):
2952 Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
2953 Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
2954 for backwards compat.
2955 (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
2956 and typedef'd AccessibleKeystroke to it for back-compat.
2957 (AccessibleDeviceListenerCB):
2958 New function prototype typedef.
2961 (AccessibleDeviceEventMask): New typedef.
2962 (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
2963 (AccessibleKeyMaskType):
2964 Set equivalent to AccessibleModifierMaskType for back-compat.
2965 (SPI_createAccessibleKeystrokeListener):
2966 (AccessibleKeystrokeListener_unref):
2967 Deprecated in favor of equivalent (better-named) new API below..
2968 keystroke listeners are like all device listeners.
2969 (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
2970 New API names for old features :-).
2971 (AccessibleDeviceListener_addCallback):
2972 (AccessibleDeviceListener_removeCallback):
2973 (SPI_registerDeviceEventListener):
2974 (SPI_deregisterDeviceEventListener):
2978 (SPI_createAccessibleKeystrokeListener):
2979 Use new preferred API, cspi_device_listener_new() and
2980 cspi_device_listener_add_cb().
2981 (AccessibleKeystrokeListener_removeCallback):
2982 Use new preferred API, cspi_device_listener_remove_cb().
2983 (AccessibleKeystrokeListener_unref):
2984 Use new preferred API, cspi_device_listener_unref().
2985 (SPI_createAccessibleDeviceListener):
2986 (AccessibleDeviceListener_addCallback):
2987 (AccessibleDeviceListener_removeCallback):
2988 Implementation of new API.
2990 * cspi/spi_registry.c:
2991 (SPI_registerDeviceEventListener):
2992 (SPI_deregisterDeviceEventListener):
2993 Implementation of new API. Fixed memory leak and removed need to
2994 allocate EventTypeSeq (thanks Michael for catching this).
2995 Squashed a wayward CORBA_exception_free that shouldn't get called.
2997 * cspi/bonobo/cspi-bonobo-listener.c:
2999 Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
3000 (cspi_key_event): renamed to cspi_device_event().
3001 Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
3002 Extended to handle mouse button events as well as key events.
3003 (CSpiKeystrokeListener):
3004 Class superceded by CSpiDeviceListener.
3005 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
3006 These internal APIs changed to "*device_listener" from "*keystroke_listener".
3008 * cspi/bonobo/cspi-bonobo-listener.h:
3009 (CSpiKeystrokeListener):
3010 Class superceded by CSpiDeviceListener.
3011 (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
3012 These internal APIs changed to "*device_listener" from "*keystroke_listener".
3014 * libspi/Makefile.am:
3015 Replaced keystrokelistener.h and keystrokelistener.c
3016 with devicelistener.h and devicelistener.c; keystrokelisener.h
3017 stub retained for back-compat.
3019 * libspi/keystrokelistener.c:
3023 Replaced inclusion of keystrokelistener.h with devicelistener.h.
3025 * registryd/deviceeventcontroller.c:
3026 (DEControllerListener): Added Accessibility_EventTypeSeq member.
3027 (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
3028 (DEControllerPrivateData): Added xkb settings data.
3029 (spi_dec_poll_mouse_moved): Changed to dispatch device events for
3030 button release events (which can't be captured via XGrabButton).
3031 Don't dispatch via the 'normal' event mechanism if the device event was
3033 (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
3034 Handle the typeseq data in its new location (see above).
3035 (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
3036 New methods, for "generic" device listeners.
3037 (spi_controller_register_device_listener):
3038 Now handle mouse event listeners as well as key listeners.
3039 (spi_controller_notify_mouselisteners):
3040 New internal method.
3041 (spi_device_event_controller_forward_mouse_event):
3042 Now we notify mouse device listeners as well as generating the
3043 non-consumable "mouse:" events.
3045 We must check and restore the XKB
3046 modifier map if we consume the event, since the act of triggering
3047 a mouse event will normally reset the XKB latch. This is required for
3049 (spi_controller_register_with_devices):
3050 Load the XKB settings when registering, and register for XKB
3051 state notify events.
3052 (spi_key_eventtype_seq_contains_event):
3053 Renamed spi_eventtype_seq_contains_event, since it's used
3054 internally for all device event types now.
3055 (spi_key_event_matches_listener):
3056 Uses spi_eventtype_seq_contains_event now.
3057 (spi_device_event_controller_object_finalize):
3058 Free the private data and the XkbKeyboard struct.
3059 (impl_register_device_listener, impl_deregister_device_listener):
3060 Implementation of new IDL.
3061 (spi_deregister_controller_device_listener):
3062 New internal method.
3063 (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
3064 More efficient implementation, we don't have to create a new
3065 XkbControls structure every time we query.
3066 (spi_device_event_controller_class_init):
3067 Initialize the epv entries for the new IDL. Assign the
3068 "spi-dec-private" quark.
3069 (spi_device_event_controller_init):
3070 Initialize the private data.
3071 (spi_device_event_controller_forward_key_event):
3072 Removed a bogus CORBA_exception_free() call.
3074 * registryd/deviceeventcontroller.h:
3075 Replaced inclusion of keystrokelistener.h with
3078 * test/event-listener-test.c:
3079 (report_mouse_event):
3082 Added mouse-event device listener.
3084 * test/test-simple.c:
3085 (create_test_window):
3086 Fixed regression (we were instantiating a GtkRange,
3087 which is now an abstract class). Also fixed to match
3088 existing AtkRole names, this seems to have changed in ATK
3089 awhile ago; too late now I think, and the new
3090 mechanism is at least elegant and consistent with the
3091 glib enum "nick" APIs.
3093 2002-11-15 Darren Kenny <darren.kenny@sun.com>
3095 * idl/Accessibility_Relation.idl:
3096 add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
3097 RELATION_EMBEDS,RELATION_EMBEDDED_BY
3098 * idl/Accessibility_Role.idl:
3099 add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
3100 * idl/Accessibility_State.idl:
3101 add STATE_MANAGES_DESCENDANTS
3102 * test/event-listener-test.c:
3103 Added a listener for active-descendant events.
3105 2002-11-15 Padraig O'Briain <padraig.obriain@sun.com>
3107 * atk-bridge/bridge.c
3108 (atk_bridge_init): If application is Bonobo component wait until top
3109 level is added before registering
3110 (spi_atk_bridge_do_registration): New function which contains code,
3111 formerly in atk_bridge_init, to do application registration.
3112 (spi_atk_bridge_toplevel_added): Signal called when top level
3113 added to Bonobo component
3115 This fixes bug #83134.
3117 2002-10-23 Vitaly Tishkov <tvv@sparc.spb.su>
3119 * registryd/deviceeventcontroller.c
3120 Fixed compilation error caused by calling gettimeofday()
3123 2002-10-18 Bill Haneman <bill.haneman@sun.com>
3128 Added template for HAVE_XKB.
3131 Changes to check for XKB, and to set the HAVE_XKB #define if it
3134 * libspi/listener.c:
3135 ()impl_notify_event): Make failure to get event source name
3138 * registryd/deviceeventcontroller.c:
3139 (#include): include X11/XKBlib.h.
3140 (DEControllerPrivateData) : New struct.
3141 (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) :
3143 (dec_synth_keycode_press) (dec_synth_keycode_release):
3144 New methods; split the key synthesis code into these methods.
3145 They check XKB settings before determining the "time" values to
3146 pass to Xtest; this fixes bug #95828.
3147 (impl_generate_keyboard_event): Changed to use methods above,
3148 instead of callng Xtest directly.
3149 (spi_device_event_controller_init): Initialize new privae struct s
3151 (spi_device_event_controllr_object_finalize):
3152 Free the (new) private data.
3154 * registryd/deviceeventcontroller.h:
3155 Add new gpointer to end of struct data.
3157 2002-10-16 Bill Haneman <bill.haneman@sun.com>
3160 Incremented revision to 1.1.2, SONAME is still '.so', library
3161 extensions are ".so.0.0.2".
3163 * registryd/deviceeventcontroller.c:
3164 FIXES FOR #93592 and #95940.
3165 (statics): renamed mouse_button_state to mouse_mask_state,
3166 added key_modifier_mask.
3167 (spi_dec_poll_mouse_moved):
3168 Added key modifier checks, and emit "keyboard:modifiers"
3169 events when the key modifiers currently in use change.
3170 Also generate "mouse:abs" events periodically, even if the mouse
3171 is stationary (should we?).
3172 Alternatively we could generate "mouse:abs" events for either all
3173 mouse movements, or every 'nth' mouse movement, or at the
3174 beginning and end of every "active" mouse period.
3176 * test/event-listener-test.c:
3177 (main): Added listener for "keyboard:modifiers" events.
3179 2002-10-15 Bill Haneman <bill.haneman@sun.com>
3181 * libspi/keymasks.h:
3182 Added key mask #defines for mouse buttons; e.g.
3183 SPI_KEYMASK_BUTTON1, etc.
3186 Incremented dependency on ATK to version 1.1.0. (This dependency
3187 is probably premature but will soon be real enough).
3189 2002-10-11 Padraig O'Briain <padraig.obriain@sun.com>
3191 * libspi/hyperlink.[ch]
3192 (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
3193 (get_hyperlink_from_servant): Check object is AtkHyperlink not
3196 * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
3201 2002-10-10 Padraig O'Briain <padraig.obriain@sun.com>
3203 * registryd/deviceeventcontroller.c
3204 (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
3205 events to be ignored.
3206 (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
3207 keyboard_mode so that XAllowEvents() can be called.
3211 2002-10-08 Padraig O'Briain <padraig.obriain@sun.com>
3213 * cspi/spi-accessible.c: Correct names of roles returned by
3214 AccessibleRole_getName(). Fixes bug #95055.
3216 2002-10-03 Padraig O'Briain <padraig.obriain@sun.com>
3218 * cspi/spi_main.c (report_leaked_ref): Report address of leaked
3221 * registryd/registry.c
3222 (desktop_remove_application: Write diagnostic message to stderr for
3225 (impl_accessibility_registry_deregister_global_event_listener):
3226 Correct size of lists array. This addresses bug #94555).
3228 2002-09-24 Padraig O'Briain <padraig.obriain@sun.com>
3230 * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
3233 2002-09-19 Padraig O'Briain <padraig.obriain@sun.com>
3235 * registryd/Makefile: Add CLEANFILES so that .server file is removed
3238 * registryd/registry.c (impl_registry_notify_event): Remove
3239 unnecessary call to parser_event_type().
3241 * docs/reference/cspi/tmpl/spi_component.sgml:
3242 Add reference to SPI_LAYER_WINDOW.
3244 2002-09-17 Padraig O'Briain <padraig.obriain@sun.com>
3246 * registryd/registry.c
3247 (desktop_add_application): Remove leak.
3248 (desktop_remove_application): Remove leak.
3249 (parser_event_type): Remove leak.
3251 2002-09-16 Padraig O'Briain <padraig.obriain@sun.com>
3253 * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
3254 bogus call to CORBA_string_dup(). Also removed unnecessary
3255 g_string_dup/g_free calls.
3257 2002-09-13 Bill Haneman <bill.haneman@sun.com>
3259 * registryd/deviceeventcontroller.c:
3260 spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
3262 * test/event-listener-test.c:
3263 main: commented out three redundant listeners, to reduce output
3264 noise. (They still are potentially useful for testing).
3267 2002-09-13 Michael Meeks <michael@ximian.com>
3269 * Update all the copyrights to include Ximian.
3271 2002-09-06 Mark McLoughlin <mark@skynet.ie>
3273 * cspi/spi.h: add SPI_LAYER_WINDOW.
3275 * cspi/spi_component.c: (AccessibleComponent_getLayer):
3276 add Accessibility_LAYER_WINDOW case.
3278 * idl/Accessibility_Component.idl: add LAYER_WINDOW.
3280 * libspi/component.c: (impl_accessibility_component_get_layer):
3281 add ATK_LAYER_WINDOW case.
3283 2002-08-28 Bill Haneman <bill.haneman@sun.com>
3285 * configure.in: incremented micro version.
3287 * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
3289 2002-08-20 Bill Haneman <bill.haneman@sun.com>
3292 Clarified and reworded our commit policy.
3295 Started an API "todo" addition list for 2.2.
3298 (impl_getSelection):
3299 Free char pointer from atk_text_get_selection, which was being leaked.
3301 2002-08-19 Bill Haneman <bill.haneman@sun.com>
3304 Small revision to author acknowledgement.
3306 2002-08-19 Padraig O'Briain <padraig.obriain@sun.com>
3308 * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
3309 If signal has detail add it to the type of the event.
3312 2002-08-12 Michael Meeks <michael@ximian.com>
3314 * test/test-simple.c (global_listener_cb): bin bogosity.
3315 (test_keylisteners): disable, still doesn't work reliably,
3316 certainly not on my system anyway.
3318 * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
3319 don't leak a reference on the DEC. This round-trip
3320 fetching of the DEC per keystroke sucks, it should be
3323 * cspi/spi-private.h,
3324 * cspi/cspi-lowlevel.h,
3325 * cspi/bonobo/cspi-bonobo-listener.[ch],
3326 * cspi/bonobo/cspi-bonobo.c: get the copyright
3327 notices better - there is still a large amount of
3328 work in at-spi falsely attributed solely to Sun.
3330 * cspi/spi_main.c (cspi_object_ref): kill bogus
3331 hash lookup, just increment the ref.
3332 (SPI_freeString): make explicit the fact that we
3333 handle NULL strings just fine.
3334 (report_leaked_ref): obey coding standards.
3335 (cspi_object_hash, cspi_object_equal): kill retval.
3336 (cspi_object_release): only release if not on loan.
3337 (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
3338 (cspi_object_borrow, cspi_object_return): impl.
3340 * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
3341 use cspi_object_borrow / return.
3343 2002-08-12 Darren Kenny <darren.kenny@sun.com>
3345 * cspi/bonobo/cspi-bonobo-listener.c:
3347 Don't call cspi_oject_new() because this is creating a new Accessible
3348 every single time that an event is fired. This causes ATs like at-poke
3349 to nolonger recognise the source of the event and thus ignore it.
3350 Re-use the object from the cache, ref it and then unref it after the
3351 listeners have been called.
3353 2002-08-06 Darren Kenny <darren.kenny@sun.com>
3355 * test/event-listener-test.c:
3356 Added command-line options to disable mouse events (m) and
3359 2002-07-31 Padraig O'Briain <padraig.obriain@sun.com>
3361 * configure.in: Update required versions of ATK, GTK+ and GAIL
3363 * cspi-1.0.pc.in: Add dependency for X include files
3366 * cspi/bonobo/Makefile.am:
3367 Add $(X_CFLAGS) so that X include files
3368 are picked up even if not in standard place (bug #71686)
3370 2002-06-25 Bill Haneman <bill.haneman@sun.com>
3372 * registryd/deviceeventcontroller.c: fix for 84261
3373 (spi_dec_mouse_moved):
3374 Added test of mouse button mask, so that we can detect mouse
3375 button release. Unfortunately we can't otherwise detect mouse
3376 button release events without consuming the mouse press event,
3377 because of the way XGrabButton works. This means that our mouse
3378 release events have a latency dependent on the polling period
3379 while the mouse button is down. At least in this case we only
3380 have to poll while the button is down, and not at other times.
3381 If the button masks don't match with what the last press event
3382 reported, we report the appropriate button release event.
3383 (spi_dec_ungrab_mouse):
3384 New method (not yet called).
3385 (spi_device_event_controller_forward_mouse_event):
3386 New method, sends mouse press event from GdkFilter.
3387 (spi_dec_init_mouse_listener):
3388 Added code to call XGrabButton, redirecting mouse button events to
3389 the root window and our Gdk event loop.
3391 Added code to filter mouse button events, and reordered.
3393 * test/event-listener-test.c:
3395 Added registration for mouse events of type "mouse:button".
3397 2002-06-25 Bill Haneman <bill.haneman@sun.com>
3399 * registryd/deviceeventcontroller.c: partial fix for 84261
3400 (spi_dec_poll_mouse_idle):
3401 New method, a timeout which checks to see if the mouse
3403 (spi_dec_poll_mouse_moving):
3404 A timeout to be called when mouse motion is underway.
3405 (spi_dec_poll_mouse_moved):
3406 A method which fires an event if the mouse has moved, and reports
3407 whether or not it did so.
3408 (spi_dec_init_mouse_listener):
3409 A method which sets up the timeouts above.
3410 (spi_device_event_controller_new):
3411 Now calls spi_dec_init_mouse_listener.
3413 * registryd/registry.c:
3414 (spi_registry_init):
3415 Now we initialize the device event controller when the registry is
3416 initialized, instead of waiting until a client has requested a key
3417 event notification; this is because we need the event controller
3418 for mouse events, but the mouse event registration API is a
3419 "registry" call and doesn't explicitly call the
3420 deviceeventcontroller.
3421 We now report mouse motion events with a 100 ms idle latency and
3422 a 20 ms granularity when motion is in progress.
3424 * test/event-listener-test.c:
3426 We now register the "detail listener" for events of type
3427 "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
3428 delivered only for the first mouse event received, and thereafter
3429 "mouse:abs" events are delivered.)
3431 * cspi/spi_registry.c:
3432 DOCS: Documented the above mouse event typestrings.
3434 2002-06-21 Bill Haneman <bill.haneman@sun.com>
3436 Happy Summer Solstice...
3438 * registryd/deviceeventcontroller.c: [fix for bug 84100]
3439 (spi_controller_notify_keylisteners):
3440 Changes to remove a listener from the listener list, freeing its
3441 open keygrabs, if a notification to that listener fails. This
3442 means that although a dead listener can continue to hold a passive
3443 keygrab, a maximum of one dispatch to such a listener can fail
3444 before the listener is removed from the list, thus the keygrab
3445 will be released on the next occurrence.
3446 As part of this fix:
3447 (spi_notify_keylisteners):
3448 Renamed to spi_controller_notify_keylisteners, as the controller
3449 instance must now be passed as an argument.
3450 The copied 'notify' GList is now a list of DEControllerKeyListener
3451 objects, since we need more than just the CORBA reference if a
3452 notify fails and we need to deregister the listener.
3453 (impl_notify_listeners_sync):
3454 (impl_notify_listeners_async):
3455 (spi_device_event_controller_forward_key_event):
3456 Modify use of notify_keylisteners in accordance with above
3458 (spi_deregister_controller_key_listener):
3459 New method introduced by refactoring, from
3460 impl_deregister_keystroke_listener.
3461 (impl_deregister_keystroke_listener):
3462 Call spi_deregister_controller_key_listener.
3463 (spi_key_listener_clone):
3464 New method to copy a key listner without doing a 'ref' on the
3465 remote object instance; used to create a notifier list.
3466 (spi_key_listener_data_free):
3467 New method, frees data without unreffing the source.
3469 (spi_key_listener_clone_free): new method.
3470 (spi_key_listener_free):
3471 refactored to call spi_key_listener_data_free.
3473 2002-06-20 Bill Haneman <bill.haneman@sun.com>
3475 * registryd/registry.c: [fix for bug 86048]
3476 (notify_listeners_cb):
3477 Clear CORBA system exceptions which occur when notifying
3478 listeners, before returning to the source of the original event,
3479 since the event source doesn't care if the relayed notify failed.
3480 In other words, don't complain to the atk-bridge if the registry
3481 could not notify all its listeners, that's no fault of the
3482 application and thus should not appear to be an error from the
3483 application's perspective.
3485 * cspi/spi_main.c: [fix for bug 85980]
3487 Replaced use of bonobo_object_dup_ref with call to the wrapper
3488 method, csou_dup_ref (); this silences a compiler warning and
3489 provided more portability.
3491 Ping the registry before return, and restart if necessary.
3493 * cspi/bonobo/cspi-bonobo.c:
3495 New internal method.
3497 Fixed this method to return an object reference, as it should have
3500 * cspi/cspi-lowlevel.h:
3501 Added internal definition for cspi_ping() and fixed
3502 return type of cspi_dup_ref().
3505 2002-06-19 Bill Haneman <bill.haneman@sun.com>
3507 * atk-bridge/bridge.c: [fix for bug 85305]
3508 (spi_atk_bridge_register_application):
3509 New method where the initial application registry calls have been
3510 moved; it allows an application to re-register in response to
3511 certain error conditions (such as a registry restart, see below).
3513 Moved some initialization code to the method
3514 spi_atk_bridge_get_registry, below.
3515 (spi_atk_bridge_get_registry):
3516 New, private accessor function for the Accessibility_Registry
3517 instance. If the registry has not been started before, or has
3518 died (as detected by failure of a CORBA exception), it is
3519 restarted before return, and spi_atk_bridge_register_application
3520 is called again to register with the new bridge instance.
3521 (spi_atk_emit_eventv):
3522 Set registry_died on error; use spi_atk_bridge_get_registry () to
3523 access the registry.
3525 * registryd/registry.c:
3526 (impl_accessibility_registry_register_global_event_listener):
3527 Set listener's event_type_quark to etype.minor instead of
3528 etype.major (fix for bug 84856).
3530 * test/event-listener-test.c:
3531 (report_detail_event):
3532 Change the output string so that user/tester can tell that the
3533 'detail listener' was called instead of the 'generic listener'.
3535 2002-06-18 Bill Haneman <bill.haneman@sun.com>
3537 Fixes for bugs 84900, 84908, 84897, 84898.
3542 Revved version to 1.1.0
3543 (reserving the 1.0.X branch for gnome-2-0-0 branch, this
3544 version is going to HEAD which will be used for gnome-2-0-1 and later.)
3546 * idl/Accessibility_Registry.idl:
3547 (EventListener::notifyEvent):
3548 Removed 'oneway' directive after extensive consulation with
3549 ORBit2 team and others. This means also that unref() of the event
3550 source can and should be done synchronously after emission, rather
3551 than remotely in the client, after servicing the notify call on
3554 NOTE: This change speeds up listener performance considerably, but
3555 introduces new latency on the application side. We may want to
3556 add an event queue to the atk-bridge.
3558 * atk-bridge/bridge.c:
3559 (spi_atk_bridge_focus_tracker):
3560 Do a local unref() on the event source after emission.
3562 * registryd/registry.c:
3563 (desktop_remove_application):
3564 Do an unref() on the event source after emission.
3565 (desktop_add_application):
3566 Do an unref() on the event source after emission.
3567 (notify_listeners_cb):
3568 When relaying an event, don't automatically add the event source
3569 to the local object cache, just CORBA_dup it instead. Likewise,
3570 if this method reenters, release the ref rather than calling
3572 (impl_registry_notify_event):
3573 No longer call remote unref() on the event source after dispatch.
3575 * libspi/eventlistener.c:
3576 (impl_accessible_event_notify_event):
3577 Removed remote unref ()
3579 * cspi/bonobo/cspi-bonobo-listener.c:
3581 We now call cspi_object_new() instead of cspi_object_add() on
3582 receipt of an event; thus we only have an implicit object ref
3583 while the cspi_event method is being executed. If we need to keep
3584 a reference to the object, the listener must call ref() on the
3585 object. Thus also we don't need to call cspi_object_unref() after
3586 invoking the listener callbacks in this method.
3590 New internal API for creating a new cspi object, without adding it
3591 to the object cache.
3593 Now uses cspi_object_new() to create the cspi object instance.
3595 Now checks to see if the object is in the internal object cache,
3596 and adds it if necessary before incrementing its refcount (note
3597 that new objects are added with a refcount of 1).
3598 (report_leaked_ref):
3599 New method which gives some information on leaked object instances
3600 if leak detection is turned on.
3602 * test/event-listener-test.c:
3603 (timing_test_event):
3604 New method, used for testing event delivery timing for special
3605 events of type "object:test". It reports elapsed time and
3606 events/sec every 500 events.
3608 Added a new listener, 'test listener', to check timing of event
3609 receipt as noted above.
3611 Added some timing output here also, reports elapsed time every 100
3614 * test/stress-test.c:
3615 Emit events of type "object:test", for use with "event-listener-test".
3617 * test/test-simple.c:
3618 (global_listener_cb):
3619 Call Accessible_ref() on the event source before calling
3620 validate_accessible, since the validation process does pointer
3621 comparisons on the event source, meaning that the event source
3622 needs to be added to the local object cache first. Any use of
3623 such pointer comparisons between Accessible objects requires that
3624 the caller hold an explicit reference to those objects.
3625 We also must therefore call Accessible_unref() when leaving this method.
3627 2002-06-13 Bill Haneman <bill.haneman@sun.com>
3629 * registryd/deviceeventcontroller.c:
3630 (spi_controller_update_key_grabs):
3631 Fix for #84735, subsequent keygrab listeners not informed of
3632 registration failure.
3635 (spi_base_construct):
3636 Add an assertion on construct, to make sure the GObject passed in
3637 is really a GObject.
3639 Explicitly initialize object->gobj pointer to NULL;
3641 * cspi/bonobo/cspi-bonobo-listener.c:
3642 (cspi_object_add_ref):
3643 New method, can specify whether to dup-ref a bonobo object passed
3644 in if it's newly added to the object cache.
3646 Now calls cspi_object_add_ref with second param of "FALSE". This
3647 prevents us from doing a pointless dup-ref followed by
3648 release-unref for all those cases where the object is already in
3649 our object cache (fix for #85205).
3651 * atk-bridge/bridge.c:
3652 (spi_atk_bridge_idle_init):
3653 Removed this method, we don't need to initialize in an idle
3656 Changed to call spi_atk_register_event_listeners directly, not via an
3657 idle handler. (fix for #81139)
3658 (gnome_accessibility_module_shutdown):
3659 Removed conditional around deregistration of listeners, since we
3660 don't use the idle handler and thus have always registered when
3662 (spi_init_keystroke_from_atk_key_event):
3663 Changed references to Accessibility_KEY_PRESSED to
3664 Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
3666 2002-06-12 Bill Haneman <bill.haneman@sun.com>
3668 (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
3673 * test/stress-test.c:
3676 (may have been an incomplete commit yesterday?)
3678 2002-06-12 Bill Haneman <bill.haneman@sun.com>
3681 Added target for new stress-test.
3683 * test/stress-test.c:
3684 New test, sends 1000 focus notifies in quick succession.
3686 * test/key-listener-test.c:
3687 Now we report whether a keylistener registration
3688 request succeeded or failed.
3690 * test/event-listener-test.c:
3691 Uncommented some listeners which are now implemented.
3694 2002-06-06 Bill Haneman <bill.haneman@sun.com>
3696 * registryd/deviceeventcontroller.c:
3697 (spi_controller_update_key_grabs):
3698 Fix for #82509, lack of failure notification when
3699 ALL_WINDOWS keygrabs fail due to XGrabKey
3700 failure: we synchronize the server when
3701 registering a passive grab, to make sure we get the
3702 error message before the call returns.
3704 2002-06-03 Bill Haneman <bill.haneman@sun.com>
3706 * test/test-simple.c:
3708 Removed #ifdef KEY_IMPL_WORKS guards.
3709 (test_keylisteners):
3710 Removed #ifdef KEY_IMPL_WORKS guards.
3711 Fixed bug which was causing a hang waiting for a
3712 "press" event (which was already overwritten by a "release"
3713 event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
3715 Added code to set globals 'key_press_received' and
3716 'key_release_received'.
3719 Added section "1.1 API Proposed Additions" which
3720 lists API additions desired for at-spi-1.1 (only one so far).
3721 Updated TODO list a little.
3723 2002-06-02 Bill Haneman <bill.haneman@sun.com>
3725 AT-SPI 1.0 API FINAL: at-spi 1.0 is now
3728 * configure.in: Revved to 1.0.0.
3730 * idl/Accessibility_Registry.idl:
3731 (registerKeystrokeListener):
3732 Added boolean return value.
3734 * registryd/registry.c:
3735 (notify_listeners_cb): Minor fix to debug output.
3737 * registryd/Accessibility_Registry.server.in.in:
3738 Revved version number in OAFIID to 1.0.
3740 * registryd/registryd.c:
3742 Use new OAFIID version.
3744 * cspi/bonobo/cspi-bonobo.c:
3746 Use new OAFIID version.
3752 * atk-bridge/bridge.c:
3754 Use new OAFIID version.
3756 * registryd/deviceeventcontroller.c:
3757 (impl_register_keystroke_listener):
3758 Added CORBA_boolean return value.
3759 (spi_controller_register_device_listener):
3760 Added gboolean return value.
3761 (spi_controller_register_global_keygrabs):
3762 Added gboolean return value.
3763 (spi_key_set_contains_key):
3764 Added implementation for many more control keys,
3765 for instance F1-F12, arrow keys, End, Home, Page_Up,
3767 [TODO: some still not implemented].
3769 * text/screen-review-test.c:
3770 (text_chunk_pad_string):
3771 New function: it provides mapping between coordinate
3772 positions of text chunks and character positions in the
3773 screen-review-line output string.
3774 (text_chunk_to_string):
3775 New function, calls text_chunk_pad_string with various
3776 pad/delimiter characters. Pushbuttons are delimited with
3777 square brackets, Frames with vertical 'pipe' lines, and
3778 other text with double quotes.
3779 (text_chunk_list_to_string):
3780 Calls new function text_chunk_to_string.
3781 (toplevel_composite):
3782 New function to composite layers CANVAS through
3783 POPUP in each toplevel (other layers are composited
3784 across toplevels, i.e. BACKGROUND and OVERLAY).
3785 (review_buffer_composite):
3786 Revise to use new methods.
3792 2002-05-31 Laszlo Peter <laca@sun.com>
3794 * configure.in: add the Xtst libdir to the runpath on Solaris,
3795 since it's not in the default library search path.
3797 2002-05-29 jacob berkman <jacob@ximian.com>
3799 * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
3801 2002-05-29 Bill Haneman <bill.haneman@sun.com>
3803 * test/screen-review-test.c:
3804 (text_chunk_pad_string):
3805 Added method, which pads the string according to the
3806 text bounds of the chunk. It also takes a 3-character
3807 string as a param which indicates the characters to be
3808 used for start, padding, and end delimitation of the chunk.
3809 (text_chunk_to_string):
3810 Changed to use text_chunk_pad_string.
3812 * configure.in: Fixed bug in AC_OUTPUT that was
3813 causing path substitution in Accessibility_Registry.server
3816 2002-05-23 Bill Haneman <bill.haneman@sun.com>
3818 * text/screen-review-test.c:
3819 (guess_string_clip):
3820 New method which attempts a best-guess at clipping
3821 text from components (like Java labels) which don't
3822 actually implement AccessibleText. This inaccurate
3823 clip is based on the assumption that the label is
3824 justified left-and-right, and monospaced.
3825 (text_chunk_get_clipped_string):
3826 We now call guess_string_clip() for text-containing
3827 components that don't implement AccessibleText.
3829 * test/screen-review-test.c:
3830 (review_buffer_get_text_chunk):
3831 We now pull "name" from labels if they do not implement
3832 AccessibleText (i.e. for Java labels).
3833 (get_screen_review_line_at):
3834 Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
3837 Replaceded AC_OUTPUT target
3838 registryd/Accessibility_Registry.server with
3839 registryd/Accessibility_Registry.server.in.
3841 * registryd/Accessibility_Registry.server.in:
3842 Removed (this is now a Makefile target).
3844 * registryd/Accessibility_Registry.server.in.in:
3845 Added (source for target above). We now use $(libexecdir) as
3846 prefix for the executable at-spi-registryd.
3848 * registry/Makefile.am:
3849 Now install at-spi-registryd into $(libexecdir), and build .server
3850 file with path (see above).
3852 2002-05-22 Bill Haneman <bill.haneman@sun.com>
3854 * test/screen-review-test.c:
3855 (text_chunk_get_clipped_string):
3856 We now check to see if words fall within clip bounds
3857 before resorting to character-by-character clip bounds testing.
3859 * TODO: Added a section for "2.2 Proposed API Additions".
3861 2002-05-21 Bill Haneman <bill.haneman@sun.com>
3863 * test/screen-review-test.c:
3865 Added a screen review benchmarking and test program to test
3868 * cspi/spi_accessible.c:
3870 Made some of the debug strings passed to cspi_check_ev a
3871 little more specific.
3873 2002-05-21 Padraig O'Briain <padraig.obriain@sun.com>
3875 * test/screen-review-test.c: Fix crashes in debug statements
3877 2002-05-20 Bill Haneman <bill.haneman@sun.com>
3879 * test/screen-review-test.c: Added this file.
3881 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
3883 * atk-bridge/bridge.c: changed "object:state-change" to
3884 "object:state-changed" to match docs.
3886 2002-05-13 Marc Mulcahy <marc.mulcahy@sun.com>
3888 * atk-bridge/bridge.c: Hooked up state-change event details.
3890 2002-05-11 Bill Haneman <bill.haneman@sun.com>
3892 * registryd/registry.c:
3893 Fixed quarking bug in event string parsing; now events with
3894 detail parameters get matched correctly to listeners.
3897 * util/idl/Magnifier.idl: remove.
3899 * util/*.[ch]: Remove.
3900 Magnification utilities and IDL are now in module gnome-mag.
3902 2002-05-10 Bill Haneman <bill.haneman@sun.com>
3904 * registryd/deviceeventcontroller.c:
3905 Fixed bug in grab key conversion which was causing keycode grabs
3906 to be converted to AnyKey grabs.
3909 updated NEWS file to reflect recent spin-off of gnome-mag.
3911 2002-05-09 Marc Mulcahy <marc.mulcahy@sun.com>
3913 * cspi/spi_accessible.c: Added exception checks. Fixed completely
3914 busted AccessibleStateSet_compare. Removed redundant casts.
3916 * cspi/spi-action.c: Removed redundant casts.
3918 * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
3920 * cspi/spi_component.c: Fixed typos and casting error.
3922 * cspi/spi_editabletext.c: Removed redundant casts.
3924 * cspi/spi_hyperlink.c: Fixed casting and exception checking.
3926 * cspi/spi_hypertext.c: Eliminated redundant casts.
3928 * cspi/spi_image.c: Eliminated redundant casts.
3930 * cspi/spi_registry.c: Eliminated redundant casts.
3931 SPI_deregisterGlobalEventListenerAll () removed retval variable.
3932 * cspi/spi_selection.c: Removed redundant casts.
3933 * cspi/spi_text.c: Eliminated redundant casts. Fixed exception
3934 handling. Screen geometry and text offsets were being returned as 0
3935 on error which is technically valid-- changed these to return -1.
3936 Added marshaller for text boundary types to fix bug with boundary
3937 types being passed incorrectly to atk.
3939 2002-05-09 Bill Haneman <bill.haneman@sun.com>
3942 * cspi/spi_registry.c:
3943 Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
3944 which was uncovered by the recent key changes.
3946 2002-05-09 Bill Haneman <bill.haneman@sun.com>
3948 * test/event-listener-test.c:
3950 Added new test, "event-listener-test";
3951 this code does two things; it benchmarks traversal time
3952 for the accessible hierarchy for the first running accessible
3953 app, and it connects listeners for all supported event types.
3954 It is thus useful as an example event listener and for
3955 diagnostics/debugging of event generation.
3957 2002-05-08 Bill Haneman <bill.haneman@sun.com>
3960 Removed unnecessary dependency on libutil.
3963 Revved micro version: 0.13.1
3965 2002-05-08 Bill Haneman <bill.haneman@sun.com>
3968 Removed util/Makefile from targets.
3971 Removed util subdir from SUBDIRS (temporarily,
3972 pending removal of magnifier-only code
3976 #ifdef-ed out magnifier dependencies, since
3977 magnifier IDL, headers, and binary now live in
3978 module gnome-mag and we don't want at-spi to depend
3979 on gnome-mag. A magnifier demo which can run alongside
3980 simple-at is forthcoming in the gnome-mag module.
3982 NOTE: Split magnifier binary, IDL, and magnification
3983 activation code from at-spi into module gnome-mag.
3985 2002-05-03 Marc Mulcahy <marc.mulcahy@sun.com>
3987 * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
3988 cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
3990 2002-05-03 Bill Haneman <bill.haneman@sun.com>
3993 Revved to version 0.13.0
3995 * idl/Accessibility_Registry.idl:
3996 Changed definition of KeySet from sequence of longs to sequence of
3997 KeyDefinitions, and added KeyDefinition struct.
3998 Required for fix to bug 80616.
4000 * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
4001 Changed AccessibleKeySet to Accessibility_KeySet marshalling code
4002 to use new definition (see above).
4004 * registryd/deviceeventcontroller.c: handle_keygrab(),
4005 spi_keyset_contains_key():
4006 Changed to make use of new struct; this allows matching based on
4007 string key-name, for instance "Tab". This also allows matching of
4008 composed characters, non-alphanumeric characters in a way that
4009 doesn't involve dependencies on X keysym codes directly, etc.
4011 * test/key-listener-test.c:
4012 Added test for Alt-Tab key using "string" specification of keyset,
4013 and modified one of the tests to use a keycode-based keyset.
4014 Thus this test both tests and demonstrates the creation and use of
4015 keysets of three forms: specified via keycode array,
4016 keysym array, and string array. (The string case only contains a
4017 single string, i.e. a string array of length 1).
4020 Turned on PRINT_TREE option by default. Also fixed a
4021 string-freeing bug in the PRINT_TREE code.
4022 Added a listener to window:minimize events.
4024 2002-05-08 Padraig O'Briain <padraig.obriain@sun.com>
4026 * atk-bridge/bridge.c:
4027 (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
4028 for window:activate and window:deactiveate
4029 (atk_bridge_property_event_listener atk_bridge_signal_listener
4030 atk_bridge_window_event_listener) Tidy debug code
4032 2002-05-02 Marc Mulcahy <marc.mulcahy@sun.com>
4034 * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
4035 Fixed handling for NULL return value from ATK.
4037 * libspi/action.c libspi/component.c libspi/editabletext.
4038 libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
4039 libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
4040 Removed redundant casts.
4042 * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
4043 Fixed off by one bug.
4045 *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
4046 function not present in idl)
4048 2002-05-02 jacob berkman <jacob@ximian.com>
4050 * atk-bridge/Makefile.am: make atk-bridge a real module
4052 2002-04-26 Radek Doulik <rodo@ximian.com>
4054 * libspi/stateset.c (spi_init_state_type_tables): fix size of
4055 atk_state_types table
4057 2002-04-22 jacob berkman <jacob@ximian.com>
4060 * libspi/Makefile.am: add deps on the built files to help
4061 automake, and don't version the ORBit typelib
4063 2002-04-19 Padraig O'Briain <padraig.obriain@sun.com>
4065 * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h
4066 cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
4067 cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c
4068 cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
4069 cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
4070 cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
4071 cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
4072 libspi/accessible.h libspi/accessible.h libspi/base.h
4073 libspi/component.h libspi/editabletext.h libspi/hyperlink.h
4074 libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
4075 libspi/relation.h libspi/remoteobject.h libspi/selection.h
4076 libspi/spi-private.h libspi/statetset.h libspi/table.h
4077 libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
4078 util/mag_client.h util/mag_control.c util/mag_image.c
4079 util/mag_image.h util/magnifier.c util/magnifier.h:
4080 Add missing file headers; standardize existing ones
4082 2002-04-18 Marc Mulcahy <marc.mulcahy@sun.com>
4084 * atk-bridge/bridge.c: Added window event support.
4086 2002-04-18 Michael Meeks <michael@ximian.com>
4088 * libspi/relation.c (impl_getNTargets): impl.
4089 (impl_getTarget): impl.
4091 * libspi/Makefile.am: fix stateset install.
4093 2002-04-17 Bill Haneman <bill.haneman@sun.com>
4096 Started putting useful info in this file.
4098 2002-04-17 Marc Mulcahy <marc.mulcahy@sun.com>
4100 * atk-bridge/bridge.c:
4101 Propagate state-changed notifications to ATs
4103 * cspi/spi_registry.c: update docs to reflect actual behavior of
4104 state-change events.
4106 2002-04-17 Bill Haneman <bill.haneman@sun.com>
4109 Incremented version to 0.12.1
4111 * util/mag_client.h:
4112 Add missing declaration for magnifier_exit,
4113 used by mag_control.c - Forte compiler didn't like
4114 the implicit redeclaration of the function :-(
4117 2002-04-16 Bill Haneman <bill.haneman@sun.com>
4120 Revved version to 0.12 due to API change (see below).
4122 * cspi/spi-roletypes.h:
4123 removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE
4124 definition from the inline docs, and added docs
4125 for SPI_ROLE_LAST_DEFINED.
4128 * cspi/spi_streamablecontent.c:
4129 Added missing seek_type parameter to
4130 (so far unused) method,
4131 AccessibleStreamableContent_seek().
4132 [ RT approval JodyG. ]
4135 Fixed docs for SPI_createAccessibleKeystrokeListener.
4137 * cspi/spi_registry.c:
4138 Fixed docs for SPI_KEYSET_ALL_KEYS.
4140 * docs/reference/cspi/at-spi-cspi-sections.txt:
4141 Added a number of missing APIs to SECTIONS.
4143 2002-04-16 Bill Haneman <bill.haneman@sun.com>
4145 * registryd/Makefile.am:
4147 * cspi/bonobo/Makefile.am:
4148 Add $(X_LIBS) to makefiles.
4150 2002-04-15 Bill Haneman <bill.haneman@sun.com>
4153 Revved version to 0.11.
4155 * libspi/component.c:
4156 Added implementation for grabFocus.
4158 * idl/Accessibility_Component.idl
4159 (Accessibility_Component_grabFocus):
4160 Made this method return boolean to indicate success or failure, to
4161 be consistent with cspi and the corresponding ATK method.
4163 * idl/Accessibility_Selection.idl
4164 (Accessibility_Selection_selectAll) :
4165 Made these methods return boolean to indicate success or
4166 failure, to be consistent with cspi and the corresponding ATK methods.
4168 * idl/Accessibility_EditableText.idl
4169 (Accessibility_EditableText_setTextContents,
4170 Accessibility_EditableText_insertText,
4171 Accessibility_EditableText_cutText,
4172 Accessibility_EditableText_deleteText,
4173 Accessibility_EditableText_pasteText):
4174 Made these methods return boolean to indicate
4177 * cspi/spi_editabletext.c:
4178 Made these methods return booleans.
4180 * libspi/selection.c:
4181 * libspi/component.c:
4182 * libspi/editabletext.c:
4183 Connected the boolean returns from ATK
4184 to the server-side code referenced above.
4186 2002-04-14 Bill Haneman <bill.haneman@sun.com>
4188 * idl/Accessibility_Table.idl: Added missing methods,
4189 Accessibility_Table_addRowSelection,
4190 Accessibility_Table_addColumnSelection,
4191 Accessibility_Table_removeRowSelection,
4192 Accessibility_Table_removeColumnSelection.
4195 Added C wrappers for above IDL:
4196 AccessibleTable_addRowSelection,
4197 AccessibleTable_addColumnSelection,
4198 AccessibleTable_removeRowSelection,
4199 AccessibleTable_removeColumnSelection.
4202 Added server-side implementation code for IDL above, connecting
4203 to pre-existing ATK api.
4205 2002-04-13 Marc Mulcahy <marc.mulcahy@sun.com>
4207 * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
4209 * libspi/accessible.c: Added implementation fo
4210 Accessibility_Accessible_get_state.
4212 * libspi/libspi.h: Added stateset.h to the list of includes.
4214 * libspi/stateset.c: Fixed broken implementation.
4216 2002-04-13 Bill Haneman <bill.haneman@sun.com>
4219 Added implementation code for Accessibility_Magnifier_exit ().
4221 * util/mag_control.c:
4222 Added test code for above method; you can
4223 now kill an existing magnifier via
4224 ./mag_control q, from the util directory.
4226 * test/key-listener-test.c:
4228 Added a new test, for our key listener API.
4230 2002-04-11 Bill Haneman <bill.haneman@sun.com>
4232 * test/app.c, test/keysynth-demo.c:
4234 Replace use of snprintf with g_snprintf.
4235 (fix for bugzilla 78249)
4237 2002-03-27 Michael Meeks <michael@ximian.com>
4241 * util/Makefile.am (INCLUDES): fix.
4242 (DONT_DIST_SOURCE): don't distribute the
4245 * libspi/Makefile.am (dist-hook): ditto.
4247 2002-03-27 Padraig O'Briain <padraig.obriain@sun.com>
4249 * libspi/hypertext.c:
4250 Fix warnings when yelp is used with atk-bridge
4252 2002-03-21 Michael Meeks <michael@ximian.com>
4254 * libspi/application.c (spi_application_new):
4255 use spi_accessible_construct so we use the AtkObject
4258 2002-03-19 Michael Meeks <michael@ximian.com>
4260 * registryd/registry.c (desktop_remove_application),
4261 (desktop_add_application): clean coding style.
4263 * registryd/desktop.c (spi_desktop_remove_application),
4264 (spi_desktop_add_application): kill re-enterency hazards.
4265 (spi_desktop_dispose): remove bogus redundant cast
4266 obscuring bug; fix bug too.
4267 (spi_desktop_init): make the desktop object immortal.
4269 2002-03-16 Bill Haneman <bill.haneman@sun.com>
4272 Added a #define-guarded tree-traversal step
4273 when enumerating the apps (diagnostic tool).
4275 2002-03-15 Bill Haneman <bill.haneman@sun.com>
4277 * idl/Accessibility_Role.idl:
4278 Added ROLE_DRAWING_AREA which seemed to be missing from the
4281 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
4283 * cspi/spi-roletypes.h cspi/spi_accessible.c
4284 idl/Accessibility_Role.idl libspi/accessible.c: synched up role
4287 * registryd/desktop.c registryd/desktop.h registryd/registry.c:
4288 Added signals to SpiDesktop and callbacks in SpiRegistry to notify
4289 AT when applications are added and removed from the desktop. This
4290 reverts the previous broken implementation using the backing
4291 AtkObject for the SpiDesktop.
4293 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
4295 * registryd/desktop.c: emit the "children-changed::add" and
4296 "children-changed::remove" signals on the backing ATK object for
4297 the desktop so AT can tell when applications are started and shut
4300 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
4302 * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
4304 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
4306 * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
4308 * cspi/spi_accessible.c: Implemented c bindings for stateset support
4310 * cspi/state-types.h: synched with IDL and ATK
4312 2002-03-13 Bill Haneman <bill.haneman@sun.com>
4314 * libspi/accessible.c
4315 (impl_accessibility_accessible_get_child_at_index):
4316 Change return value for g_return_if_fail ()
4317 to CORBA_OBJECT_NIL instead of "0" (!)
4319 * registryd/Makefile.am:
4320 * registryd/Accessibility_Register.server.in:
4321 Changed name of executable, "registryd",
4322 to something more informative:
4325 2002-03-13 Michael Meeks <michael@ximian.com>
4327 * atk-bridge/bridge.c (atk_bridge_init): don't register
4328 if we're in a bonobo-component, rather than a bonobo app.
4330 2002-03-13 Michael Meeks <michael@ximian.com>
4332 * atk-bridge/bridge.c (gtk_module_init): split
4333 out body to (atk_bridge_init): here, since otherwise
4334 we get symbol conflicts and oddness when invoked
4335 from (gnome_accessibility_module_init): here (upd.)
4337 2002-03-11 Bill Haneman <bill.haneman@sun.com>
4340 New file. Explicitly allow "build sheriff" putbacks provided
4341 they are tested on Solaris.
4343 * docs/reference/cspi/Makefile.am:
4344 Added '-' to the "cp" command for index.sgml.
4345 ("patch by thomasvs, soon coming to a GUADEC near you")
4348 Incremented version number (0.9.0) for new release.
4349 Changed macro that checks for popt, to better detect
4350 obsolete versions of popt.
4353 Added X_LIBS to AC_SUBST, for applications
4354 that call Xlib API directly.
4357 2002-03-07 Bill Haneman <bill.haneman@sun.com>
4360 Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
4363 Fix regression caused by hard-coding major
4364 version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
4367 * test/test-simple.c (test_editable_text),
4368 (test_test): revert previous change (error was
4369 a regression in gail which is now fixed).
4371 2002-03-04 Michael Meeks <michael@ximian.com>
4373 * test/test-simple.c (test_editable_text),
4374 (test_text): pass G_MAXINT instead of '-1' for
4375 whole string - is this a good thing !?
4377 * cspi/spi_accessible.c
4378 (Accessible_getRelationSet): fix crasher bug
4379 overwriting the end of the array.
4381 * test/test-simple.c (validate_accessible): free,
4382 not g_free returned relation set.
4384 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
4386 * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
4387 implemented stateset support
4389 * idl/Accessibility_State.idl: Made necessary changes to
4390 the IDL to support state sets.
4392 2002-02-12 Bill Haneman <bill.haneman@sun.com>
4394 * registryd/deviceeventcontroller.c:
4395 Added implementation for generateMouseEvent.
4397 * cspi/spi_registry.c:
4398 Connected new implementation for generateMouseEvent
4401 2002-02-12 Bill Haneman <bill.haneman@sun.com>
4404 Incremented revision (but no change in public API
4405 outside of 'utils', which are not installed public yet.)
4407 * libspi/component.c:
4408 Changed to use atk_component API for layers and
4409 mdi_zorder, instead of deprecated atk_object API.
4411 Magnification Utility Enhancements:
4414 Added implementation of createZoomRegion, clearAllZoomRegions,
4415 resizeZoomRegion. Added new commandline argument
4416 "--no-initial-region". Note that clearAllZoomRegions doesn't
4417 unmap the old '0' region as it should (yet), and the other
4418 methods only work when creating/resizing a single region,
4419 which is "region 0".
4420 (Code for multiple region support will be added later.)
4423 Now we raise the magnifier window each time it's refreshed;
4424 this will help keep it on top.
4426 * util/mag_client.h:
4427 Added simple wrappers for above, used by mag_control.
4428 For general use, it's recommended to use the bonobo magnifier
4429 control API directly instead of using these wrappers.
4432 Moved ZoomRegionData from magnifier.c to this file.
4434 * util/mag_control.c:
4435 Added some code to exercise new IDL implementations.
4437 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
4439 * libspi/text.c: Provide implementation for getAttributes.
4441 2002-02-04 Bill Haneman <bill.haneman@sun.com>
4444 Incremented revision.
4446 * test/test-simple.c:
4447 Replaced use of deprecated g_main_iteration with
4448 g_main_context_iteration.
4450 2002-01-28 Padraig O'Briain <padraig.obriain@sun.com>
4453 Incremented revision for desktop alpha 2.
4455 2002-01-28 Mark McLoughlin <mark@skynet.ie>
4457 * libspi/remoteobject.[ch]: make RemoteObject and interface rather
4460 * test/simple-at.c: include netinet/in.h.
4462 2002-01-24 Mark McLoughlin <mark@skynet.ie>
4464 * cspi/spi_accessible.c: (Accessible_getRelationSet):
4465 use NULL, not CORBA_OBJECT_NIL.
4467 * libspi/accessible.c:
4468 (impl_accessibility_accessible_get_relation_set):
4469 allocate the sequence correctly.
4471 * libspi/remoteobject.h: kill spi_remote_object_new.
4473 * test/test-simple.c: (validate_accessible): add code
4474 to test relation sets, now all we need is to figure
4475 out how to excercise this code path :/
4477 2002-01-18 Michael Meeks <michael@ximian.com>
4479 * test/test-simple.c
4480 (key_listener_cb): consume the key.
4481 (test_keylisteners): update.
4482 (main): wait for any pending unrefs on events.
4484 * registryd/deviceeventcontroller.c
4485 (spi_controller_update_key_grabs): only re-issue the
4486 grab on a key release.
4487 (spi_device_event_controller_forward_key_event):
4488 refresh the keygrabs before we notify the listeners,
4489 to reduce the X ungrab / re-grab race.
4490 (spi_controller_register_with_devices): remove
4491 XSelectInput - we do that with the gdk_window_ call.
4492 (_spi_controller_device_error_handler): return a value.
4493 s/GDK_DISPLAY/spi_get_display/
4495 2002-01-17 Michael Meeks <michael@ximian.com>
4497 * registryd/deviceeventcontroller.c
4498 (_deregister_keygrab): don't blow out the later
4501 * test/test-simple.c (test_keylisteners): do a
4502 more intelligent validation.
4504 2002-01-14 Michael Meeks <michael@ximian.com>
4506 * atk-bridge/bridge.c
4507 (gnome_accessibility_module_init),
4508 (gnome_accessibility_module_shutdown): impl.
4509 (gtk_module_init): protect vs. double inits.
4510 (add_signal_listener): impl.
4511 (spi_atk_bridge_state_event_listener): kill
4512 (deregister_application): split out of
4513 (spi_atk_bridge_exit_func): here.
4515 2002-01-18 Bill Haneman <bill.haneman@sun.com>
4518 Added caret tracking when using magnifier, and
4519 now use text bounds for focus tracking of text elements, rather than
4520 the component bounds - this is helpful for short text fields in long
4521 table cells, at high magnification.
4523 2002-01-16 Bill Haneman <bill.haneman@sun.com>
4525 * registryd/deviceeventcontroller.c:
4526 Regression fix for keylistener de-registration; global keygrabs
4527 were not being released when deregisterKeystrokeListener was
4528 called in cspi, since
4529 Accessibility_DeviceEventController_deregisterKeystrokeListener
4530 was called with a zero-length keyset. That is because the cspi
4531 method, SPI_deregisterKeystrokeListener, does not take a keyset
4532 parameter but instead should remove all the key grabs held be a
4534 The code in impl_deregister_keystroke_listener was changed to copy
4535 the keylist from the listener instance previously registered with
4536 the DeviceEventController before releasing the grabs.
4538 * registryd/registry.c:
4539 * registryd/deviceeventcontroller.c:
4540 * libspi/spi-private.h:
4542 Changed spelling of "re-enterant" to "re-entrant" globally.
4544 2002-01-16 Bill Haneman <bill.haneman@sun.com>
4546 * test/test-simple.c:
4547 Changed key listeners test - the test was slightly mis-using the
4548 (admittedly poorly documented) SPI_generateKeyboardEvent API.
4549 It now uses '=' as the key event listened to and generated,
4550 relying on a keysym match rather than assuming that keycode 33
4551 is always equal to keysym '!'.
4553 2002-01-15 Bill Haneman <bill.haneman@sun.com>
4556 Changed simple-at to use a specific keyset, rather than
4557 SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
4558 manager, desktop, etc.
4560 2002-01-11 Bill Haneman <bill.haneman@sun.com>
4562 * registryd/deviceeventcontroller.c:
4563 Replaced standard X error handler with a special handler that
4564 is non-fatal for failed keygrabs. This works around
4565 problems with keygrab clashes sometimes observed on
4567 Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate
4568 mouse handling code as yet).
4570 2002-01-11 Bill Haneman <bill.haneman@sun.com>
4573 Incremented revision for desktop alpha release.
4576 Fixed a couple of the more glaring errors (still not
4579 2002-01-11 Michael Meeks <michael@ximian.com>
4581 * registryd/deviceeventcontroller.c
4582 (spi_device_event_controller_forward_key_event): kill
4583 XUngrabKey / XKeyGrab race.
4584 (spi_controller_grab_keyboard): rename to
4585 (spi_controller_update_key_grabs): this, and deal
4586 with incremental adding / removing grabs more
4588 (_register_keygrab): ensure we're not pending a remove.
4589 (spi_grab_mask_free): impl.
4590 (spi_controller_register_global_keygrabs): split out
4592 (handle_keygrab): impl.
4593 (_deregister_keygrab): impl.
4594 (spi_controller_deregister_global_keygrabs): impl.
4595 (spi_controller_update_key_grabs): re-issue the grab if
4596 we just recieved a notification.
4598 * test/test-simple.c (key_listener_cb): remove debug.
4600 * registryd/deviceeventcontroller.c
4601 (spi_controller_register_device_listener): after
4602 registering a global keygrab, actualy register it !
4603 don't wait for a timeout; doh !
4605 * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
4606 to make it more readable / manipulable.
4607 s/grabmask/grab_mask/ s/refcount/ref_count/
4608 s/keyval/key_val/ s/modmask/mod_mask
4610 2002-01-08 Michael Meeks <michael@ximian.com>
4612 * registryd/deviceeventcontroller.c
4613 (spi_controller_register_with_devices): use gdk calls to
4615 (global_filter_fn): implement the filter.
4616 (spi_device_event_controller_check_key_event): rename to
4617 (spi_device_event_controller_forward_key_event): this & upd.
4618 (spi_get_display): replace with GDK_DISPLAY.
4620 * registryd/deviceeventcontroller.c
4621 (spi_controller_deregister_device_listener): unroll into
4622 (impl_deregister_keystroke_listener): here to simplify.
4623 (spi_controller_register_global_keygrabs): split cut and
4624 paste (!) out into (_register_keygrab): here, shorter & sweeter.
4625 (spi_controller_deregister_device_listener): remove.
4626 (impl_register_mouse_listener): remove, no mouse listener
4627 support in at-spi-1.0
4629 * registryd/registry.c
4630 (_device_event_controller_hook): kill.
4631 (spi_registry_init): upd.
4633 * registryd/deviceeventcontroller.c
4634 (spi_device_event_controller_class_init): upd.
4635 (spi_check_key_event): merge into.
4636 (spi_device_event_controller_check_key_event):
4637 here and kill strange static ev init, don't leak
4638 the x_event - nor dynamicaly allocate it.
4640 * registryd/registry-main.c (main): re-direct
4641 timeout to remove strange vtable mess.
4643 * registryd/deviceeventcontroller.c
4644 (remove_listener_cb): impl.
4645 (spi_controller_deregister_device_listener):
4646 fix re-enterancy hazard.
4648 2002-01-07 Michael Meeks <michael@ximian.com>
4650 * registryd/deviceeventcontroller.c
4651 (spi_device_event_controller_new): upd.
4652 (impl_notify_listeners_sync): upd. debug.
4653 (spi_notify_keylisteners): fix re-enterancy hazards,
4654 prettify, remove O(n*n) iteration.
4655 (spi_controller_grab_keyboard): fix iteration.
4656 (spi_check_key_event): re-format to suit coding style.
4657 Clean all the warnings - we're warning free.
4659 * registryd/deviceeventcontroller.h:
4660 * registryd/registry.h: make mutualy referential with
4661 typesafe forward references instead of (!) void pointer
4664 2002-01-11 Michael Meeks <michael@ximian.com>
4666 * cspi/spi_accessible.c (role_names): add a role name
4667 to sync this array with the enum; and make the regression
4670 2002-01-10 Michael Meeks <michael@ximian.com>
4672 * cspi/spi_registry.c (SPI_generateKeyboardEvent):
4673 allow expansion of enumeration & kill warning.
4675 * test/test-simple.c (key_listener_cb): impl.
4676 (test_keylisteners): impl.
4678 * cspi/spi-listener.h: make listener signatures const
4679 on the provided (const) events.
4681 * test/keysynth-demo.c: upd. to const events.
4683 * test/simple-at.c: ditto.
4685 2002-01-11 Bill Haneman <bill.haneman@sun.com>
4688 Rev the version to 0.5 (the previous tarball was named 0.4,
4689 even though the micro number was 3), so we need to rev upwards
4690 again for beta2/"desktop-alpha"
4693 Checked in a demo script, which requires editing before use!
4694 Proceed with caution.
4697 Fixed typo in header which was redefining SPI_ACTION_CLASS.
4699 * cspi/spi_accessible.c:
4700 Add a couple of missing enum initializations, and fix some enum
4703 * cspi/spi_registry.c:
4704 Add comment describing keystring parameter to SPI_generateKeyboardEvent.
4706 * docs/reference/cspi/at-spi-cspi-sections.txt:
4707 Remove/fix a couple of broken document references.
4710 Minor tweaks to the demo. We now (sigh) use Alt-SHIFTLOCK as well
4711 as Alt-Control to listen for commands, since on some systems
4712 Control-Alt may already be grabbed.
4714 2002-01-10 Bill Haneman <bill.haneman@sun.com>
4717 Update version number to 0.4 for Beta2.
4719 * libspi/accessible.c, libspi/accessible.h:
4720 Expose spi_accessible_construct, to enable libgail-gnome
4721 construction from spi_accessible subtype.
4723 * utils/magnifier.c:
4724 Workaround for bug in some non-gnome-compliant window managers
4725 which made magnifier resize improperly.
4727 2002-01-09 Bill Haneman <bill.haneman@sun.com>
4729 * libspi/accessible.c: (spi_accessible_new) :
4730 Move the test for SPI_IS_REMOTE_OBJECT to
4731 spi_accessible_new_return, fixing a bug and compile time warning.
4733 2002-01-08 Michael Meeks <michael@ximian.com>
4735 * registryd/registry.c (parse_event_type): remove strndup.
4737 * libspi/Makefile.am (libspi_la_SOURCES): remove
4738 sources already included in the headers section.
4740 * libspi/util.c: add.
4742 * libspi/spi-private.h: add.
4744 * registryd/registry.c: update to moved list iterators.
4746 2002-01-05 Michael Meeks <michael@ximian.com>
4748 * test/simple-at.c (main): upd. auto-module set to atk-bridge
4750 * test/test-simple.c (main): ditto.
4752 2002-01-04 Michael Meeks <michael@ximian.com>
4754 * libspi/accessible.c (spi_accessible_new): remove 2nd,
4755 redundant construct.
4757 * registryd/registry.c
4758 (get_listener_list): impl.
4759 (impl_accessibility_registry_register_global_event_listener):
4760 re-impl. to simplify using ~, remove dodgy const cast off.
4761 (parse_event_type): constify.
4762 (impl_accessibility_registry_deregister_global_event_listener_all):
4763 re-write, more efficiency and simplicity, kill re-enterancy
4765 (compare_listener_corbaref, compare_corba_objects),
4766 (compare_listener_quarks): define out.
4767 (impl_accessibility_registry_deregister_global_event_listener):
4768 re-write for effiency, and nail re-enterancy hazard.
4769 (impl_accessibility_registry_get_desktop_list): impl.
4770 (re_enterant_list_delete_link): impl.
4771 (re_enterant_list_foreach): impl.
4772 (remove_listener_cb): impl.
4773 (_registry_notify_listeners): kill.
4774 (notify_listeners_cb): impl.
4776 * cspi/spi_registry.c (SPI_freeDesktopList): impl.
4777 (SPI_getDesktopList): impl.
4779 * test/test-simple.c (test_desktop): test the methods.
4781 2002-01-03 Michael Meeks <michael@ximian.com>
4783 * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
4784 keystrings since we free them
4785 (SPI_freeAccessibleKeySet): in here.
4787 * libspi/accessible.c (spi_accessible_new): kill warning,
4788 wonder what is going on with the constructor here.
4790 2002-03-01 Bill Haneman <bill.haneman@sun.com>
4792 * libspi/accessible.c (spi_accessible_new ()) :
4793 Added check to see if AtkObject is an SpiRemoteObject before
4794 creating an SpiAccessible.
4796 2002-05-01 Bill Haneman <bill.haneman@sun.com>
4798 * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
4799 Enable keygrabs using the Control modifier, now that they are
4800 working properly (they were previously disabled).
4803 Change the command keygrab for this demo to "Control+Alt", so as
4804 to conflict with fewer other key commands on the system; this
4805 means that the quit command for "simple-at" is now "Ctrl-Alt-q".
4807 Removed a pointlessly-chatty keylistener for unshifted keys
4808 (shifted keys are still reported).
4810 2002-02-01 Bill Haneman <bill.haneman@sun.com>
4812 * libspi/remoteobject.h:
4813 * libspi/remoteobject.c:
4814 Added definitions for special AtkObject subtype, required for
4815 support of remote components (specifically, used by BonoboControl
4816 accessibility implementation).
4818 2002-01-02 Marc Mulcahy <marc.mulcahy@sun.com>
4820 * cspi/spi.h: synched relation types with ATK
4822 * cspi/spi_accessible.c: Added implementations of
4823 AcccessibleRelation_* methods
4825 * idl/Accessibility_Relation.idl: added getRelationTypeName
4826 method. Synched known relation types with ATK. Allowed for
4827 relation type extension with the RELATION_EXTENDED type.
4829 * libspi/relation.c: Provided implementations for
4830 AccessibleRelation methods.
4832 2002-01-01 Bill Haneman <bill.haneman@sun.com>
4834 API tweaks for today's API 'freeze'.
4837 Added placeholder functions to allow future compatible expansion
4838 of the IDL interfaces.
4840 * idl/Accessibility_Registry.idl:
4841 Changed generateKeyEvent to generateKeyboardEvent. Changed
4842 signature of this method to accept an optional keystring in
4843 parameter (for complex text input synthesis) and changed use of
4844 simple 'boolean' parameter in registerKeystrokeListener to a
4845 struct, EventListenerMode.
4847 * cspi/spi_accessible.c:
4849 * cspi/spi_streamablecontent.c:
4850 Added references to AccessibleStreamableContent interface, and
4851 definition and implementation of AccessibleStreamableContent
4854 * cspi/spi_registry.c:
4856 Changed generateKeyEvent API to generateKeyboardEvent,
4857 taking a new (optional) keystring parameter to support complex
4862 Renamed directory (to better reflect its actual purpose, bridging
4863 from at-spi to ATK). The .so module is also now named
4866 * idl/Accessibility_Hypertext.idl:
4867 * libspi/accessible.c:
4868 * libspi/hypertext.h:
4869 * libspi/hypertext.c:
4870 Changed Accessibility_Hypertext to *not* derive from
4873 * cspi/spi_registry.c:
4874 Added list of legal event type names for 'window' events, which
4875 completes the registry event API.
4877 2001-12-22 Marc Mulcahy <marc.mulcahy@sun.com>
4879 * at-bridge/bridge.c: Added registration for separate
4880 "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
4881 signals. If either of the first two parameters to the generic
4882 bridge signal handler are ints, they are passed on as event
4883 details. This allows an AT to determine what text was inserted.
4885 2001-12-21 Bill Haneman <bill.haneman@sun.com>
4887 * registryd/deviceeventcontroller.c:
4888 Fixed regressions in generateKeyEvent caused by the removal of
4889 gdk_init from registryd; we now use pure X calls to connect to the
4890 display, which makes sense because deviceeventcontroller already
4891 uses a fair bit of X API (should eventually be migrated to a
4892 'portability layer').
4894 * registryd/desktop.c:
4895 Fixed minor regression in spi_desktop_init, changed the way the
4896 desktop name is being set to work with new spi_base API
4897 (gobject-based, rather than AtkObject-based).
4899 * registryd/Makefile.am:
4900 Minor revision of makefile to use XTST_LIBS variable rather than
4901 hard-wiring the Xtst LD_ADD element.
4903 * test/keysynth-demo.c:
4904 Tweaked an output message; added initialization of the
4905 'keystrings' member of the "switch listener" key_set.
4907 * libspi/relation.c:
4908 Squashed compile-time warning.
4910 * libspi/accessible.c:
4911 Cosmetic and formatting fixes, renamed a static method.
4913 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
4915 * libspi/accessible.c
4917 * libspi/application.c
4920 * libspi/component.c
4921 * libspi/editabletext.c
4922 * libspi/hyperlink.c
4923 * libspi/hypertext.c
4925 * libspi/selection.c
4929 * registryd/desktop.c:
4930 Changed SpiBase to contain a GObject pointer rather than an AtkObject
4932 2001-12-17 Bill Haneman <bill.haneman@sun.com>
4934 * idl/Accessibility_Registry.idl:
4935 Added boolean member 'is_text' to DeviceEvent. This is for the
4936 use of key events, and helps prevent ambiguity between composed
4937 key strings and keysym names, since both may potentially be
4938 returned in the 'event_string' member.
4940 * at-bridge/bridge.c:
4941 * registryd/deviceeventcontroller.c:
4942 Use the 'is_text' member when notifying device event listeners.
4943 Knon issue: composed characters are not dealt with correctly by
4944 the global key listener implementation yet.
4946 2001-12-17 Bill Haneman <bill.haneman@sun.com>
4948 * at-bridge/bridge.c:
4949 Namespaced local static methods to spi_atk_bridge_* where
4950 previously named bridge_*, and spi_* elsewhere.
4952 * at-bridge/bridge.c:
4953 * cspi/bonobo/cspi-bonobo-listener.c:
4954 Added demarshalling/conversion for string member of
4955 Accessibility_DeviceEvent to AccessibleKeystroke.
4957 * registryd/deviceeventcontroller.c:
4958 Added code to fill the Accessibility_DeviceEvent key string value
4959 member for global key events (i.e. from XGrabKey), to match
4960 behavior of Accessibility_DeviceEvent from the toolkit key events
4961 from the bridge. Fixed timestamp in global key event notifications.
4964 Added printout of key event's string value to
4965 report_ordinary_key_event, for demo/debugging purposes.
4967 2001-12-15 Bill Haneman <bill.haneman@sun.com>
4969 * idl/Accessibility_Registry.idl:
4970 Removed Accessibility_KeyStroke structure in favor of generic
4971 Accessibility_DeviceEvent structure.
4972 Changed Accessibility_ControllerEventMask from a struct to an
4975 * at-bridge/bridge.c:
4976 Changed APIs to use DeviceEvent structure as above, and removed
4977 bogus casting between these event structures.
4979 * cspi/spi-listener.h:
4980 Added keystring member of AccessibleKeystroke structure, to enable
4981 matching on event "names" rather than only hardware codes and
4985 Added keystrings member of AccessibleKeySet struct, to allow
4986 matching on event names (as above).
4987 Added declarations for SPI_createAccessibleKeySet and
4988 SPI_freeAccessibleKeySet. Due to changes in libspi, we now pass
4989 event modmasks directly as unsigned ints rather than structs with
4990 refcounts, in the DeviceEventController methods.
4992 * cspi/spi_registry.c:
4993 Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
4995 * cspi/spi-roletypes.h:
4996 Added documentation of newly added SPI Roles.
4998 * cspi/bonobo/cspi-bonobo-listener.c:
4999 Changes in support of API changes above.
5001 * libspi/accessible.c:
5002 Converted APIs to use DeviceEvent structure (see IDL changes
5005 * registryd/deviceeventcontroller.c:
5006 Added DEControllerGrabMask structure to track keygrabs not only by
5007 modmask but by keyset as well; this allows us to do "global"
5008 (i.e. X) keygrabs on a per-key or keyset basis rather than always
5009 grabbing on AnyKey and then filtering after-the-fact.
5010 Bugfixes for event filtration mean that we don't get false matches
5011 on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
5013 * registryd/deviceeventcontroller.c:
5014 Namespaced a number of static methods to use spi_ prefix. Major
5015 revision to internals of global (i.e. X) key grabs.
5017 * registryd/deviceeventcontroller.h:
5018 Removed keymask_list and added keygrabs_list to
5019 SpiDeviceEventController struct.
5022 Added use of SPI_createAccessibleKeySet API when creating a
5023 listener for only one key. Attach a listener to "shift spacebar
5024 SPI_KEY_RELEASE" as a demonstration. Changed (incorrect) usage of
5025 X key event names to SPI key event names, so that listeners are
5026 registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
5028 * test/keysynth-demo.c:
5029 Changed (incorrect) use of X key event names (KeyPressed,
5030 KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
5033 2001-12-12 Bill Haneman <bill.haneman@sun.com>
5035 * libspi/accessible.c:
5036 Convert all AtkRole enumerations to Accessibility_Role enums when
5037 getting a role from an AtkObject.
5039 * cspi/spi_accessible.c:
5040 Complete the conversion of Accessibility_Role enums at runtime to
5041 AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
5042 role enums correctly match those given in spi-roletypes.h.
5043 Re-synchronize the local names list for AccessibleRole_getName ().
5044 AccessibleRole_getName is now deprecated, since it duplicates the
5045 more reliable Accessible_getRoleName.
5046 Added some role types from Accessibility_Role.idl.
5048 * idl/Accessibility_Role.idl:
5049 Added some role types used by AtkRole.
5051 2001-12-12 Bill Haneman <bill.haneman@sun.com>
5054 * cspi/spi_registry.c:
5056 * cspi/cspi-bonobo-listener.c:
5057 Namespaced all methods that did not begin with an "SPI_" or
5058 "Accessible" prefix to "SPI_".
5061 Homogenized internal function namespace to "cspi_" for statics.
5064 Patched tests to use the new CSPI API.
5066 * docs/reference/cspi/at-spi-cspi-sections.txt:
5067 Updated docs to reflect namespace changes, and added a number of
5068 methods to the documentation.
5070 * registryd/registry.c:
5071 Changed use of strings and string hashes in listener event
5072 matching and parse_event_string to use GQuark, which is guaranteed
5075 * registryd/registry.h:
5076 Squashed annoying warning.
5078 * idl/Accessibility_Role.idl:
5079 Extended range of available Accessibility_Role values.
5081 * cspi/spi_accessible.c:
5082 Re-ordered role names.
5084 2001-12-12 Bill Haneman <bill.haneman@sun.com>
5086 * idl/Accessibility_Value.idl:
5087 Revert use of union back to CORBA_double, since the double type is
5088 more efficient and can contain the other types without loss of
5091 * idl/Accessibility_Accessible.idl:
5092 Added method Accessibility:Accessible:getRoleName, to complement
5093 Accessibility:Accessible:getRole.
5095 * cspi/spi_accessible.c:
5097 Added C binding for above, Accessible_getRoleName (), and changed
5098 signature of Accessible_getRole () to return an AccessibleRole.
5100 * cspi/spi-roletypes.h:
5101 Changed AccessibleRole_getName to return a char * instead of a
5102 const char *. This method is now at least temporarily deprecated
5103 in favor of asking Accessibles for their RoleNames directly.
5106 Revert to match Accessibility_Value.idl;
5110 Change signature of AccessibleValue methods to use double rather
5114 * cspi/spi_accessible.c:
5115 Changed Accessible_getRole to return an AccessibleRole enum rather
5116 than a UTF-8 string. The UTF-8 string can still be obtained via
5117 AccessibleRole_getName ().
5119 * test/test-simple.c:
5120 Add test_action. Small fixup to match API change to Accessible_getRole.
5123 Bugfix for get_action_from_servant ().
5125 2001-12-11 Michael Meeks <michael@ximian.com>
5127 * libspi/libspi.h: remove registry.h and
5128 desktop.h, deviceeventcontroller.h
5130 * libspi/Makefile.am: remove registry.[ch],
5131 desktop.[ch], deviceeventcontroller.[ch]
5133 * registryd/Makefile.am: add registry.[ch],
5134 desktop.[ch], rename registryd.c to registry-main.c.
5135 add deviceeventcontroller.[ch]
5137 2001-12-11 Bill Haneman <bill.haneman@sun.com>
5140 Replace setenv() call with putenv ().
5142 * libspi/component.c:
5143 Bugfix in AccessibleComponent_getExtents (),
5146 2001-12-11 Michael Meeks <michael@ximian.com>
5148 * libspi/image.c (impl_getImageExtents): impl.
5149 (spi_image_class_init): upd.
5152 (AccessibleImage_getImageDescription): fix daft bug
5155 * test/test-simple.c (global_listener_cb): update
5156 to only quit if not --poke
5157 (main): catch --poke.
5158 (validate_accessible): upd. dumping, call test_image
5161 * libspi/Makefile.am (IDL_DEPS): fixup the IDL
5164 * idl/Accessibility.idl: update all IDL includes.
5166 * idl/*.idl - rename to namespace - this sucks, blame
5167 mjs' bad decision for oafd.
5169 * test/test-simple.c (create_test_window): add more tests.
5170 (create_tree): split this out.
5171 (validate_accessible): bugfix.
5173 2001-12-11 Michael Meeks <michael@ximian.com>
5175 * cspi/bonobo/cspi-bonobo-listener.c:
5176 (cspi_kestroke_listener_unref),
5177 (cspi_event_listener_unref): impl. undoing previous
5178 homenous environment - for Bill.
5180 * cspi/spi_table.c (long_seq_to_array): use
5183 * cspi/spi_main.c: split out all bonoboish bits into
5186 * cspi/spi-impl.h: upd. typedefs.
5188 * cspi/spi_registry.c: update to lowlevel API,
5189 return booleans to indicate success in some places.
5191 * cspi/spi_event.c: update to lowlevel API.
5193 * cspi/bonobo/Makefile.am: add.
5195 * cspi/bonobo/cspi-lowlevel.h: add
5197 * cspi/bonobo/cspi-bonobo.c: add
5199 * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
5201 * cspi/Makefile.am: remove spi-listener-impl.[ch],
5202 (SUBDIRS): add bonobo, link in the libs.
5204 * cspi/spi-util.c: kill this file.
5206 * TODO: merge in my bits.
5208 2001-12-11 Michael Meeks <michael@ximian.com>
5210 * test/test-simple.c (test_value, test_table, main):
5211 remove unused variables causing warnings.
5213 * configure.in: cleanup checks - require gail.
5215 2001-12-11 Bill Haneman <bill.haneman@sun.com>
5218 Changed Value interface to use SValue (scalars) rather than
5219 assuming all values are floats. This allows floats, doubles,
5220 longs, shorts, and unsigned values to be manipulated.
5221 Introduced Accessibility:SValue union.
5224 Updated to use new API above, and to work correctly with GValues
5225 of different types in AtkValue.
5228 Updated to use new API above. cspi's API is as yet unchanged.
5231 Updated the Value revision action item.
5233 2001-12-10 Bill Haneman <bill.haneman@sun.com>
5235 * test/test-simple.c:
5236 Added test_table (GtkTreeView widget in test window to follow).
5237 Un-commented test_value, added GtkRange widget.
5238 Added GtkTreeView widget with GtkListStore. It passes regression
5239 test but leaks one SPI object for some reason.
5242 Fixed bug in impl__set_currentValue.
5244 2001-12-10 Michael Meeks <michael@ximian.com>
5246 * cspi/spi_text.c: audit for exception handling,
5247 tolerating NULL object references safely etc.
5249 * cspi/spi_value.c: ditto.
5251 * cspi/spi_table.c (AccessibleTable_getSummary),
5252 (AccessibleTable_getAccessibleAt),
5253 (AccessibleTable_getRowHeader),
5254 (AccessibleTable_getColumnHeader),
5255 (AccessibleTable_getCaption): fix bugs hidden by
5257 (long_seq_to_array): impl.
5258 (AccessibleTable_getSelectedRows),
5259 (AccessibleTable_getSelectedColumns): use it.
5261 2001-12-10 Bill Haneman <bill.haneman@sun.com>
5264 Added a TODO list (rough and short for now).
5266 * cspi/spi_hyperlink.c:
5267 * cspi/spi_hypertext.c:
5268 Fixed macro name typos, and remove use of obsolete macro in
5269 AccessibleHyperlink_getLink.
5271 * cspi/spi_action.c:
5272 * cspi/spi_accessible.c:
5273 * cspi/spi_application.c:
5274 * cspi/spi_component.c:
5275 * cspi/spi_selection.c:
5278 Documentation fixes (removed return values from ref/unref methods).
5280 2001-12-10 Michael Meeks <michael@ximian.com>
5282 * cspi/spi_action.c: audit for exception handling,
5283 tolerating NULL object references safely etc.
5285 * cspi/spi_accessible.c: ditto.
5287 * cspi/spi_component.c: ditto.
5289 * cspi/spi_editabletext.c: ditto.
5291 * cspi/spi_hyperlink.c: ditto.
5293 * cspi/spi_hypertext.c: ditto.
5295 * cspi/spi_image.c: ditto.
5297 * cspi/spi_selection.c: ditto.
5299 2001-12-10 Michael Meeks <michael@ximian.com>
5301 * configure.in: use cspi/libspi.pc.in instead.
5303 * Makefile.am (pkgconfig_DATA): upd. to match.
5305 * test/simple-at.c (report_focus_event): kill hacks around
5306 bad return values, use putenv not setenv
5308 * libspi/desktop.c (impl_desktop_get_child_at_index): don't
5309 fire ChildGone - I killed it.
5311 * libspi/component.c
5312 (impl_accessibility_component_get_extents): remove
5315 * idl/Accessible.idl: kill ChildGone exception.
5317 * cspi/*.[ch]: kill int return from ref / unref.
5319 * cspi/spi_main.c (cspi_object_add_check): fold into
5320 (cspi_object_add): here.
5322 * cspi/spi_component.c (AccessibleComponent_getExtents):
5323 handle exceptions elegantly.
5325 * cspi/spi-private.h (cspi_check_ev_return),
5326 (cspi_return_if_fail): impl.
5328 * cspi/spi_accessible.c: use extensively.
5329 (AccessibleStateSet_equals): add direct compare check.
5331 * cspi/spi_selection.c: tolerate NULL objs, and check
5332 exceptions before return.
5334 * cspi/spi-util.c (cspi_warn_ev): rename to
5335 (cspi_check_ev): this & don't pass ev in; no point.
5337 2001-12-10 Michael Meeks <michael@ximian.com>
5339 * test/test-simple.c: use putenv not setenv
5340 (get_environment_vars): more chatty if you're not using
5343 * test/simple-at.c: do the setenv so more people see the
5346 2001-12-10 Bill Haneman <bill.haneman@sun.com>
5348 * libspi/registry.c:
5349 Changed check of CORBA_environment on notification to be a warning
5350 instead of an error for the moment, since we can recover from this
5351 error when caused by a queued notification from a dead app.
5354 Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
5355 used by all current implementors of AtkValue), and coerce to
5356 CORBA_float. (Proper general case fix may require change to Value.idl).
5358 2001-12-09 Bill Haneman <bill.haneman@sun.com>
5362 * cspi/spi_accessible.c:
5363 Documentation fixes: added user_data params to documentation for
5364 listeners and callbacks.
5366 * cspi/spi_accessible.c:
5367 Changed AccessibleStateSet_compare to return a
5368 StateSet rather than return the difference set into a third parameter.
5371 2001-12-09 Bill Haneman <bill.haneman@sun.com>
5374 Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
5375 remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
5379 Remove subdirectory po from SUBDIRS for now.
5381 * at-bridge/bridge.c:
5382 Beefed up a couple of debug printouts.
5383 One-line fix for signal notification name formatting.
5385 * libspi/accessible.c:
5386 Added assertion to spi_accessible_new ().
5388 * libspi/application.c:
5389 Put #ifdef qualifiers around a printf.
5392 Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
5394 * registryd/Makefile.am:
5396 Replaces use of XML_I18N_MERGE_SERVER_RULE with
5397 INTLTOOL_SERVER_RULE macro.
5400 Added an event listener for several ATK signals, for
5401 testing and debugging. Removed a few g_warnings.
5402 Added test output if focussed item implements the Value interface.
5404 * test/test-simple.c:
5405 Added test_value () function (known not to pass at the moment, so
5406 not actually called yet.
5408 2001-12-08 Michael Meeks <michael@ximian.com>
5410 * at-bridge/bridge.c (bridge_focus_tracker),
5411 (emit_eventv): fix the same ref. leak.
5412 (register_atk_event_listeners): don't leak.
5414 * cspi/spi-listener-impl.c (cspi_event): more
5415 protection from client code.
5417 * test/test-simple.c (test_desktop): unref the app.
5419 * test/Makefile.am: upd. TESTS.
5421 * at-bridge/bridge.c (bridge_exit_func): release the registry.
5423 * test/keysynth-demo.c (keysynth_exit): unref the listeners.
5425 * cspi/spi_accessible.c (Accessible_queryInterface): constify.
5427 * cspi/spi_registry.c: constify in strings.
5428 (deregisterGlobalEventListenerAll): don't release the ref.
5430 * cspi/spi.h: start removing redundant / conflicting
5431 gtkdoc comments, making the API readable at a glance :-)
5433 * cspi/spi_event.c (AccessibleEventListener_unref): impl.
5435 * test/keysynth-demo.c (keysynth_exit, main): upd.
5437 * test/simple-at.c (main, simple_at_exit): upd.
5439 * test/test-simple.c (unutterable_horror): kill.
5440 (utterable_normal_derefs): kill.
5441 (main): upd & do a setenv before gtk_init, so that we
5442 can use memprof - and to save the pain of remembering
5443 this, if we're running under memprof - don't exit.
5445 * cspi/spi_main.c (SPI_exit): return exit status
5447 (SPI_event_quit): impl.
5448 (SPI_event_main): simplify.
5449 (cspi_is_gnome_app): kill.
5450 (SPI_init): kill isGNOMEapp arg.
5452 * at-bridge/bridge.c (register_atk_event_listeners):
5453 re-instate the unref.
5454 (bridge_exit_func): don't re-activate the registry,
5455 protect vs. theoretical re-entry, use the
5456 AT_BRIDGE_SHUTDOWN env. var to determine whether to
5457 assert a clean shutdown - for regression tests.
5459 2001-12-08 Abel Cheung <maddog@linux.org.hk>
5461 * configure.in: Comment out dummy i18n support for now,
5462 otherwise it fails to build.
5463 * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
5464 EXTRA_DIST. They are missing in tarball.
5466 2001-12-07 Michael Meeks <michael@ximian.com>
5468 * util/magnifier.c: kill bonobo activation reg. race.
5470 * libspi/component.c
5471 (impl_accessibility_component_get_extents): make it match
5474 * libspi/registry.c (_registry_notify_listeners):
5475 re-remove X headers & reconcile conflicts.
5476 (spi_listener_struct_free): bad conflict resolve.
5477 (impl_accessibility_registry_register_application):
5478 more bad merging fixed.
5479 (impl_accessibility_registry_deregister_application): ditto.
5480 (spi_registry_new): ditto.
5481 (spi_registry_init): don't have an applications field.
5483 [ merge fixups2 branch to here ]
5484 2001-12-07 Michael Meeks <michael@ximian.com>
5486 * test/simple-at.c (report_focus_event),
5487 (report_focussed_accessible): remove g_warning debug.
5489 2001-12-07 Michael Meeks <michael@ximian.com>
5491 * test/test-simple.c (validate_tree): comment out some checks.
5492 (test_desktop): app now not registered idly - horay.
5494 2001-12-07 Michael Meeks <michael@ximian.com>
5496 * cspi/spi_registry.c
5497 (registerAccessibleKeystrokeListener): clean, stop it leaking
5498 great swathes of memory, and device event controller references.
5499 ensure we always pass valid sequences.
5500 (deregisterAccessibleKeystrokeListener): ditto.
5501 (generateKeyEvent): upd.
5503 * at-bridge/bridge.c (bridge_key_listener): handle
5504 registry dead exception gracefully.
5505 (bridge_focus_tracker, emit_eventv): free ev.
5507 * test/simple-at.c (report_focus_event): fix polarity.
5509 * libspi/application.c (notify_listeners): kill the ev
5510 argument, and make sure we init the ev we use.
5511 (spi_application_object_event_listener): split out a chunk
5512 (get_atk_object_ref): here & fixup.
5513 (reverse_lookup_name_for_toolkit_event): make const.
5514 (spi_application_toolkit_event_listener): fixup, kill leaks
5517 * at-bridge/bridge.c (register_atk_event_listeners):
5518 don't unref the noop object - causes grief.
5520 * libspi/registry.c: remove the X headers.
5521 turn off the debug churn.
5523 * libspi/accessible.c (spi_accessible_new_return): only
5524 release the ref if we are supposed to [doh]
5526 * test/simple-at.c (report_button_press, report_focus_event):
5527 guard vs. unexpected exit.
5529 * at-bridge/bridge.c (gtk_module_init): prune printf.
5530 (bridge_exit_func): fix app unref.
5532 * libspi/Makefile.am: don't install registry or desktop.h
5534 * libspi/*.h: update includes.
5536 * libspi/application.h: don't include ourself, or
5537 other redundant headers.
5539 2001-12-06 Michael Meeks <michael@ximian.com>
5541 * libspi/accessible.c
5542 (get_accessible_from_servant): impl.
5543 Upd. all CORBA impl.s to use it killing cut and paste.
5545 * cspi/spi_main.c (cspi_cleanup): guard vs. double
5547 (SPI_init): register atexit cleanup handler here.
5549 2001-12-06 Michael Meeks <michael@ximian.com>
5551 * at-bridge/bridge.c (gtk_module_init): g_error on
5552 activation exception
5554 2001-12-06 Michael Meeks <michael@ximian.com>
5556 * at-bridge/bridge.c (gtk_module_init): some sort of
5557 confusing merge clash - reverted.
5558 (bridge_idle_init): ditto.
5560 * test/test-simple.c (main, utterable_normal_derefs):
5561 merge from Bill - somehow not committed.
5563 2001-12-06 Michael Meeks <michael@ximian.com>
5565 * libspi/value.c (spi_value_class_init): upd.
5566 (spi_value_finalize): kill.
5568 * libspi/table.c (spi_table_finalize): kill.
5569 (spi_table_interface_new): upd.
5570 (spi_table_class_init): upd.
5571 (get_table_from_servant): impl.
5572 Upd. all CORBA impl.s to use it killing yet more cut and paste.
5574 * libspi/selection.c (spi_selection_finalize): kill.
5575 (spi_selection_interface_new): upd.
5576 (spi_selection_class_init): upd.
5577 (get_selection_from_servant): impl.
5578 Upd. all CORBA impl.s to use it killing yet more cut and paste.
5580 * libspi/relation.c (spi_relation_finalize): kill.
5581 (spi_relation_class_init, spi_relation_new): upd
5583 * libspi/image.c (spi_image_finalize): kill.
5584 (spi_image_class_init): upd.
5585 (spi_image_interface_new): upd.
5586 (get_image_from_servant): impl.
5587 Upd. all CORBA impl.s to use it killing yet more cut and paste.
5589 * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
5590 (spi_hyperlink_finalize): kill.
5591 (spi_hyperlink_new): upd.
5592 (get_hyperlink_from_servant): impl.
5593 Upd. all CORBA impl.s to use it killing yet more cut and paste.
5595 * libspi/hypertext.c (spi_hypertext_interface_new): upd.
5596 (spi_hypertext_finalize): kill.
5597 (spi_hypertext_class_init): upd.
5598 (get_hypertext_from_servant): impl.
5599 Upd. all CORBA impl.s to use it killing yet more cut and paste.
5601 * libspi/editabletext.c (spi_editable_text_finalize): kill.
5602 (spi_editable_text_interface_new): upd.
5603 (get_editable_text_from_servant): impl.
5604 Upd. all CORBA impl.s to use it killing yet more cut and paste.
5606 * libspi/text.c (get_text_from_servant): impl.
5607 All impls - update to use it killing more cut and paste,
5608 also fix bad string returns on duff args ( a somewhat
5609 impossible case to handle - but hey ).
5610 (spi_text_construct): impl.
5611 (spi_text_interface_new): upd.
5612 (spi_text_object_finalize): kill.
5614 * libspi/component.c
5615 (accessibility_component_object_finalize): kill.
5616 (spi_component_class_init): upd.
5617 (get_component_from_servant): impl. helper to kill cut & paste.
5618 (impl_accessibility_component_contains):
5619 (impl_accessibility_component_get_accessible_at_point):
5620 (impl_accessibility_component_get_position):
5621 (impl_accessibility_component_get_extents):
5622 (impl_accessibility_component_get_mdi_z_order):
5623 (impl_accessibility_component_get_layer):
5624 (spi_component_interface_new): upd.
5626 * libspi/action.c (spi_action_finalize): kill.
5627 (spi_action_class_init): upd. inherit from SpiObject.
5628 (spi_action_interface_new): upd.
5629 (get_action_from_servant): impl. helper to reduce cut & paste.
5630 (impl_getKeyBinding, impl_getName, impl_doAction),
5631 (impl_getDescription): Use it everywhere.
5633 * cspi/spi_main.c (get_live_refs): a pointer hash.
5634 (spi_object_hash, spi_object_equal): comment out.
5635 There are issues with CORBA object hashing that need
5638 * libspi/application.c (spi_application_init),
5639 (spi_application_new): upd.
5641 * libspi/accessible.c (spi_accessible_object_finalize): kill.
5642 (spi_accessible_class_init): upd.
5643 s/accessible/object/ in epv methods.
5645 2001-12-05 Bill Haneman <bill.haneman@sun.com>
5647 * at-bridge/bridge.c:
5648 Reorder the bridge initialization into the bridge gtk_module_init,
5649 an immediate call to bridge_register_app, and an idle_add for
5650 register_atk_event_listeners (the only code that *must* wait until
5651 GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
5652 the activation, creates the application's Accessible object, and
5653 queues the bridge_idle_init function. Restored call to
5654 Accessibility_Registry_deregisterApplication().
5655 Prior to making this call we obtain a new reference to the
5656 registry, which is a temporary hack that helps us handle apps that
5657 shut down the bonobo mainloop before we get there.
5659 * libspi/registry.c:
5660 Fix string leakage in debug block, and don't segv if a an app
5661 dies before its event notifications have been propagated.
5664 Modify cspi_check_ev() to call g_warning() rather than g_error(),
5665 as stopgap measure until we get proper exception handling when
5666 objects die during or before interrogation.
5670 Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
5671 Also changed default value of is_gnome_app to TRUE.
5674 * test/keysynth-demo.c:
5675 Changed use of SPI_init and SPI_event_main to reflect API change above.
5678 Made report_focus_event check the warning value from getName
5679 before reporting on focussed accessible; simplifies handling of
5680 notifications from dead objects.
5682 * test/test-simple.c: (Changes not in this patch since source is
5685 2001-12-05 Michael Meeks <michael@ximian.com>
5687 * registryd/registryd.c (main): protect against
5688 bonobo-activation startup race condition.
5690 * cspi/spi_main.c (cspi_object_add_check): cope
5691 with the exception elegantly.
5693 * idl/Accessible.idl: decl. ChildGone
5695 * libspi/desktop.c (spi_desktop_dispose): impl.
5696 (spi_desktop_class_init): upd.
5697 (spi_desktop_add_application),
5698 (spi_desktop_remove_application),
5699 (abnormal_application_termination): impl.
5700 (impl_desktop_get_child_at_index): re-impl.
5703 (impl_accessibility_registry_deregister_application),
5704 (impl_accessibility_registry_register_application):
5705 kill excessive debug clutter.
5707 * test/test-simple.c (test_misc): test some NULL
5708 tolerance. (main): upd.
5710 * cspi/spi_main.c (cspi_accessible_is_a): a NULL
5711 implements no interfaces - so let's not crash.
5713 * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
5715 * libspi/accessible.c (spi_accessible_new_return): impl.
5716 helper to calm the cut and paste, to cope with
5717 NULL AtkObjects effectively and efficiently, and to kill
5718 the referencing bugs.
5720 * libspi/table.c (impl_getAccessibleAt),
5721 (impl_getRowHeader, impl_getColumnHeader): upd.
5723 * libspi/hyperlink.c (impl_getObject): upd.
5725 * libspi/accessible.c
5726 (impl_accessibility_accessible_get_child_at_index): upd.
5728 * libspi/component.c
5729 (impl_accessibility_component_get_accessible_at_point): upd.
5731 * test/test-simple.c (test_editable_text, test_text): impl.
5734 * cspi/spi_editabletext.c
5735 (AccessibleEditableText_insertText): constify.
5737 * test/test-simple.c (focus_me): make more robust.
5739 * libspi/accessible.c: remove some printfs in methods that
5740 we test and work fine, so we can get a clean tree dump.
5742 * test/test-simple.c (validate_accessible),
5743 (validate_tree): make tree dumping pretty too.
5745 * at-bridge/bridge.c (bridge_signal_listener): upd. so
5746 it builds without debug on.
5748 * test/test-simple.c (validate_accessible): fix the most
5751 * cspi/spi_main.c (spi_object_release): leave the nicely
5752 blanked memory around if in debug mode.
5754 * cspi/spi-listener-impl.c (cspi_event): use add_check.
5756 [committed to fixups2]
5757 2001-12-05 Michael Meeks <michael@ximian.com>
5759 * libspi/editabletext.c
5760 (spi_editable_text_class_init): g_type_class_peek_parent,
5761 not interface peek - so we finalize cleanly.
5763 * libspi/accessible.c (spi_accessible_new): kill debug.
5765 * test/test-simple.c (validate_accessible): fix ref.
5766 leak, print strings before freeing them; sigh, comment a
5767 chunk out due to strangeness.
5768 (validate_tree): unref the child after use.
5770 * cspi/spi_component.c (AccessibleComponent_getLayer):
5771 add missing break statement, switch on zlayer not the
5772 uninitialized retval.
5774 * cspi/spi_main.c (cspi_object_add): add assert, local ref
5775 before (possibly re-entering) remote unref.
5777 * test/simple-at.c (main): unref the desktop.
5779 * cspi/spi_accessible.c (cspi_accessible_is_a): move
5782 * cspi/spi_main.c (cspi_accessible_is_a): here to
5783 isolate bonobo API usage more.
5785 * libspi/registry.c (impl_accessibility_registry_register_application):
5786 prune bogus comment.
5788 2001-12-04 Michael Meeks <michael@ximian.com>
5790 * test/test-simple.c (validate_tree): upd.
5791 IndexInParent check to make it more lucid.
5792 (validate_accessible): dump the tree.
5794 * libspi/accessible.c (de_register_public_ref),
5795 (get_public_refs): impl.
5796 (spi_accessible_new): make more efficient & intuitive.
5797 Now IndexInParent check works.
5799 2001-12-04 Michael Meeks <michael@ximian.com>
5801 * cspi/spi-util.h: remove.
5803 * cspi/spi.h: move SPI_freeString here
5805 * libspi/component.c (impl_accessibility_component_get_layer):
5807 (impl_accessibility_component_get_mdi_z_order): ditto,
5808 return -1 on error - is this ok ?
5810 * test/test-simple.c (test_application): impl.
5812 * cspi/spi_accessible.c (Accessible_getApplication),
5813 (Accessible_isApplication): impl.
5815 * libspi/registry.c (spi_listener_struct_free): release
5816 the CORBA reference too.
5818 * libspi/accessible.c
5819 (impl_accessibility_accessible_get_parent): fix ref leak.
5821 * libspi/registry.c (spi_registry_new): make the registry
5822 immortal - we don't want it to go away ever.
5824 * libspi/application.c
5825 (spi_accessible_application_finalize): impl. cleanup.
5827 * cspi/spi_registry.c
5828 (deregisterGlobalEventListenerAll),
5829 (deregisterGlobalEventListener),
5830 (deregisterAccessibleKeystrokeListener): fix ref leak.
5832 * cspi/spi_main.c (SPI_init): remove redundant ref.
5834 * test/test-simple.c (unutterable_horror): impl. to force a
5839 (impl_accessibility_registry_deregister_application): release
5840 the application when we de-register it.
5842 * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
5843 until we have the infastructure to get it right.
5845 2001-12-03 Michael Meeks <michael@ximian.com>
5847 * libspi/Makefile.am: only build eventlistener.[ch]
5849 * libspi/accessible.c
5850 (impl_accessibility_accessible_get_child_at_index): don't leak.
5852 * at-bridge/bridge.c (bridge_exit_func): cope with an exit
5853 before we hit the idle handler.
5855 * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
5856 debugging than exit.
5858 * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
5860 * libspi/listener.c (impl_notify_event): check source
5861 not NIL before unref.
5863 * libspi/registry.c (impl_registry_notify_event): ditto.
5865 * libspi/eventlistener.c
5866 (impl_accessible_event_notify_event): unref the source.
5868 * libspi/accessibleeventlistener.c
5869 (impl_accessible_event_notify_event): unref the source.
5871 * idl/Event.idl: remove 'hash_id' attribute - of no
5874 * libspi/application.c (notify_listeners): upd list
5876 (spi_application_object_event_listener),
5877 (spi_application_toolkit_event_listener): upd to do correct
5881 (_registry_notify_listeners): update.
5882 (parse_event_type): this method also leaks like a sieve.
5883 (impl_accessibility_registry_deregister_global_event_listener):
5884 fix ETYPE_WINDOW case.
5886 * libspi/application.c
5887 (impl_accessibility_application_register_object_event_listener):
5890 * libspi/hyperlink.c (impl_getObject): fix ref mistake.
5892 * libspi/hypertext.c (impl_getLink): ditto.
5894 * cspi/spi_main.c (cspi_object_add): remove
5895 bogus CORBA_Object_duplicate.
5897 * cspi/spi-listener-impl.c (cspi_event): dup/ref
5900 * cspi/spi_accessible.c
5901 (Accessible_getRelationSet): fix leak / referencing issue.
5903 * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
5904 (cspi_object_add, cspi_object_unref): upd.
5905 (spi_object_release, get_live_refs): impl.
5906 (cspi_cleanup): simplify.
5908 * *.[ch]: s/boolean/SpiBoolean/
5910 * cspi/spi_accessible.c (role_names): actualy order so it
5911 corresponds with the enum !
5913 * test/test-simple.c (test_roles): check some role strings
5914 vs. enums to detect offset errors.
5916 2001-12-01 Michael Meeks <michael@ximian.com>
5918 * cspi/spi_main.c (cspi_object_add_check): impl. helper.
5920 * cspi/spi_accessible.c (Accessible_getChildAtIndex):
5922 (Accessible_getChildAtIndex): use cspi_add_check so we
5923 check the ev before using a (possibly) invalid value.
5925 * libspi/accessible.c
5926 (impl_accessibility_accessible_get_parent): don't segv
5929 * at-bridge/bridge.c (gtk_module_init): upd.
5930 (bridge_property_event_listener): don't leak strings
5932 (bridge_state_event_listener),
5933 (bridge_property_event_listener): don't use a static
5934 buffer in case of recursive event emission &
5935 re-enterancy - split out the swathe of cut and paste
5937 (emit_eventv): and fix 2 ref leaks here & comply to the
5939 (bridge_register_app): rename to
5940 (bridge_idle_init): this and kill arg parsing, split
5941 various inits & bonobo-activation registration to module
5942 init time, kill referencing error.
5943 (bridge_exit_func): fix the same leak.
5944 (bridge_focus_tracker): don't leak event structures
5946 (bridge_signal_listener): more leakage and cut & paste
5948 (bridge_key_listener): return the result - FIXME is
5949 this polarity correct ?
5950 (accessibility_keystroke_from_atk_key_event): rename
5951 (accessibility_init_keystroke_from_atk_key_event): and stop
5953 (gtk_module_init): return a value - not that it is checked by
5955 (bridge_key_listener): register my horror at casting between
5956 IDL defined structs.
5957 (bridge_get_registry): kill - not used.
5959 * cspi/spi_accessible.c (Accessible_getRole): make return const.
5961 * test/test-simple.c (test_roles): impl.
5962 (test_desktop, validate_accessible, validate_tree): impl.
5964 * cspi/spi_accessible.c (role_names): fixup bogus
5965 MAX_ROLES setup, make constants const for efficient linkage
5966 (AccessibleRole_getName): conform to coding style, make
5969 2001-11-30 Michael Meeks <michael@ximian.com>
5971 * cspi/spi.h: add missing prototype.
5973 * libspi/registry.c (spi_listener_struct_new): fix sig.
5975 * test/Makefile.am: add test-simple
5977 * test/test-simple.c: add
5979 * test/test.sh: add.
5981 * cspi/spi_main.c (SPI_init): make SPI_inited module global,
5983 * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
5984 do it straight - since otherwise we often get an activation race.
5986 [ work before Bill duplicated a chunk of it ... ]
5987 2001-11-30 Michael Meeks <michael@ximian.com>
5989 * libspi/keystrokelistener.c
5990 (spi_keystroke_listener_class_init): fixup arg
5993 * libspi/eventlistener.c
5994 (spi_event_listener_class_init): ditto.
5996 * tests/test.sh: add.
5998 * cspi/spi-listener-impl.h: update macros.
6000 * cspi/spi-listener-impl.c
6001 (cspi_event_listener_remove_callback): add
6002 correct pre-conditions.
6004 * cspi/spi_main.c (SPI_exit): guard vs. double
6005 exits, exit the mainloop nicely.
6006 (SPI_event_main): make more sense.
6007 (SPI_init): move the atexit evilness here so we
6008 always do it (yuck).
6009 (SPI_event_main): upd.
6011 * test/simple-at.c: update for listener changes.
6013 * registryd/registryd.c (main): prune kruft.
6015 * libspi/libspi.h: upd.
6017 * libspi/eventlistener.[ch]: rename broken macros.
6019 * libspi/accessibleeventlistener.[ch]: remove.
6021 * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
6023 * test/test-simple.c: Add - automated tests.
6025 * cspi/spi-listener-impl.c (cspi_event),
6026 (cspi_key_event): add user_data to invoke.
6027 (cspi_keystroke_listener_finalize): impl.
6028 (cspi_keystroke_listener_class_init): upd.
6031 (createAccessibleEventListener),
6032 (AccessibleEventListener_addCallback),
6033 (createAccessibleKeystrokeListener),
6034 (AccessibleKeystrokeListener_addCallback): upd.
6036 * libspi/deviceeventcontroller.c
6037 (spi_device_event_controller_check_key_event): add public proto.
6040 (impl_accessibility_registry_deregister_global_event_listener):
6041 always init listeners.
6042 (_registry_notify_listeners): yes it is.
6044 * cspi/spi-listener-impl.c (cspi_key_event):
6046 (cspi_event_listener_finalize): impl.
6047 (cspi_event_listener_class_init): hook up.
6048 (event_handler_new, event_handler_free),
6049 (event_list_remove_by_callback): impl.
6050 (cspi_event_listener_remove_callback),
6051 (cspi_keystroke_listener_remove_callback),
6052 (cspi_keystroke_listener_add_callback),
6053 (cspi_event_listener_add_callback): upd.
6055 * libspi/keystrokelistener.c
6056 (keystroke_listener_object_finalize): kill
6057 (spi_keystroke_listener_class_init): upd.
6058 (spi_keystroke_listener_add_callback),
6059 (spi_keystroke_listener_remove_callback): kill,
6061 (impl_key_event): prune drasticaly.
6063 * libspi/eventlistener.c
6064 (spi_event_listener_add_callback),
6065 (spi_event_listener_remove_callback): kill, use
6067 (impl_accessible_event_notify_event): upd.
6068 (spi_event_listener_object_finalize): remove.
6070 * libspi/Makefile.am: use eventlistener.[ch]
6072 2001-12-04 Bill Haneman <bill.haneman@sun.com>
6074 * libspi/registry.c (_registry_notify_listeners):
6075 Changed listener loop iteration to use preferred convention.
6076 Got rid of string memory leaks caused be calling g_strconcat
6077 inside function calls.
6079 * libspi/registry.c (parse_event_type):
6080 Stopped g_strconcat memory leaks, free the g_strsplit return,
6081 g_strdup the split pieces when used, etc.
6083 2001-12-04 Bill Haneman <bill.haneman@sun.com>
6086 Change method 'compare' to return a 'difference set' rather than
6087 taking a StateSet as an out parameter (more Java-friendly).
6089 * idl/Accessible.idl:
6090 Added CORBA struct 'BoundingBox', to faciliate API changes below:
6092 * idl/Component.idl:
6094 Changed methods 'getExtents' and 'getImageExtents' in these
6095 interfaces to return a BoundingBox structure.
6096 (getPosition and getSize are redundant and possibly should be
6097 removed, rather than creating a corresponding Point struct.)
6099 * cspi/spi_component.c:
6100 Modify implementation of getExtents to reflect the above IDL
6105 Add (missing) AccessibleImage_getExtents () API.
6107 * docs/reference/cspi/at-spi-cspi-sections.txt:
6108 Added AccessibleImage_getImageExtents () to docs.
6110 2001-12-03 Bill Haneman <bill.haneman@sun.com>
6112 * idl/Component.idl:
6113 Added two methods, getLayer () and getMDIZOrder (), to reflect
6114 the new ATK methods atk_object_get_layer and
6115 atk_object_get_mdi_z_order. (Which arguably should be part of the
6116 AtkComponent API and AtkObject). Also added an enum,
6117 ComponentLayer, for the first method's return value.
6119 * libspi/component.c:
6120 Added implementations for these methods.
6122 * cspi/spi_component.c:
6124 Added cspi binding methods for above,
6125 AccessibleComponent_getLayer() and
6126 AccessibleComponent_getMDIZOrder().
6127 Added cspi enum 'AccessibleComponentLayer'.
6129 * docs/reference/cspi/at-spi-cspi-sections.txt:
6130 Added above methods to docs.
6134 Changed typedef for 'boolean' type (and all references to it) to
6135 SPIBoolean, to avoid keyword clashes with C++.
6138 Changed usages of 'boolean' to SPIBoolean.
6140 * test/keysynth-demo.c:
6141 Changed usages of 'boolean' to 'gboolean' (since this is a gnome
6142 app), except where SPIBoolean is required by the callbacks API.
6144 2001-12-02 Bill Haneman <bill.haneman@sun.com>
6146 * cspi/spi_registry.c:
6147 Removed obsolete X event loop for passive keygrabs (which now
6150 * registryd/registryd.c:
6151 Removed unnecessary call to gdk_init() [cruft]. This also allows
6152 removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
6155 2001-11-28 Bill Haneman <bill.haneman@sun.com>
6157 * docs/reference/cspi:
6158 Included docs for SPI_freeString in generated documentation.
6161 Renamed spi_freeString to SPI_freeString, for consistency. Added
6162 documentation for this function.
6165 Renamed spi_freeString to SPI_freeString, for consistency.
6166 Removed obsolete method declaration string_from_corba_string.
6168 * test/keysynth-demo.c:
6169 Small tweak to comments.
6172 Stopped leaking the strings returned from CSPI.
6174 2001-11-28 Bill Haneman <bill.haneman@sun.com>
6176 Merged Michael's branch (see his ChangeLog entries below).
6178 * at-bridge/bridge.c: Explicitly hold a ref to the registry while
6179 bridge is alive, release on exit.
6181 * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
6182 Fix type check macro.
6185 Added AccessibleKeystrokeListener_unref() method to reduce leakage.
6188 Added is_gnome_app static, and method cspi_is_gnome_app(),
6189 so we can call the appropriate shutdown routine at exit in SPI_exit.
6191 * cspi/spi_main.c (cspi_object_ref):
6192 Duplicate the corba object passed in, since we're keeping it around.
6194 * cspi/SPI_exit.c, cspi_cleanup:
6195 Moved the releasing of the live refs to its own function, so we
6196 can put it in g_atexit (). Call the appropriate shutdown API
6197 depending on whethe calling client is a gnome app or not
6198 (bonobo_main_quit or CORBA_ORB_shutdown).
6200 * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
6201 Unref the listener when this method is called, after
6202 deregistration. Updated the API docs to note this behavior.
6204 * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
6205 Bugfixes: Ref the bonobo object when returning a parent or child
6206 reference, or an AccessibleRelation. Generally made sure
6207 BonoboObject refcount is incremented whenever we return an
6210 * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
6211 Fixed typo/bug in signal declaration.
6213 * libspi/accessibleeventlistener.h:
6216 * libspi/application.c (spi_application_new):
6217 Fixed leak in initialization.
6220 Remembered to increment bonobo-object refcount when returning
6221 children (applications) from desktop object.
6222 Added (empty) finalize method.
6224 * libspi/deviceeventcontroller.c:
6225 Hold a ref to listeners inside DEControllerKeyListeners.
6226 Added dec_key_listener_free() method. Use prepend instead of
6227 append in key_listener list. Fixed some refcount madness and
6228 leaks in the listener registration/deregistration - deregistration
6229 now calls dec_key_listener_free() on listeners, and on the
6230 temporarily constructed dec_key_listener() used to perform the search/match.
6232 * libspi/hypertext.c (spi_hypertest_finalize):
6233 Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
6234 class. Also fixed spi_hypertext_interface_new() and
6235 SpiHypertextClass. Fixed a couple of paren-whitespace formatting bugs.
6237 * libspi/hypertext.h:
6238 Removed pointless and duplicate AtkObject pointer from
6241 * libspi/keystrokelistener.c:
6242 Fixed incorrect type of keystroke_listener_parent_class,
6243 renamed keystroke_listener_object_finalize to
6244 spi_keystroke_listener_object_finalize.
6245 Fixed typo in signal declaration
6246 (spi_keystroke_listener_class_init).
6248 * libspi/registry.c:
6249 Added funcsions spi_listener_struct_new() and
6250 spi_listener_struct_free() to help with memory management issues.
6251 We also now use these methods instead of gnew + poking stuff into
6252 the struct, and to decrement listener counts/free the listeners
6253 when deregistering them.
6254 Fix more refcount bugs in getDesktop() and
6255 getDeviceEventController().
6258 De-ref the desktop after enumerating the applications. Explicitly
6259 decrement the refcounts on the created listeners on exit (using
6260 _unref for keystroke listeners, and via the
6261 deregisterGlobalEventListenerAll command for other event
6264 2001-11-27 Michael Meeks <michael@ximian.com>
6266 * cspi/spi-listener.h: fixup enum.
6268 2001-11-27 Michael Meeks <michael@ximian.com>
6270 * cspi/spi-listener-impl.c (cspi_event_listener_new),
6271 (cspi_keystroke_listener_new): Use the cspi variants.
6273 2001-11-26 Michael Meeks <michael@ximian.com>
6275 * test/keysynth-demo.c: fix 2 compile warnings, missing
6278 * test/simple-at.c (report_focussed_accessible),
6279 (report_focus_event, report_button_press),
6280 (check_property_change, is_command_key),
6281 (report_ordinary_key_event, report_command_key_event): upd.
6283 * util/mag_client.h: include pre-requisites.
6285 * libspi/accessibleeventlistener.c
6286 (spi_event_listener_object_finalize): free any lingering
6289 * libspi/keystrokelistener.c
6290 (keystroke_listener_object_finalize): ditto.
6292 * cspi/spi-listener-impl.[ch]: Add to implement cspi style
6293 callbacks, with cspi types.
6295 * cspi/spi_event.c (createAccessibleEventListener): chain to
6296 (AccessibleEventListener_addCallback): here.
6297 (createAccessibleKeystrokeListener): chain to
6298 (AccessibleKeystrokeListener_addCallback): here.
6300 * libspi/keystrokelistener.c
6301 (spi_keystroke_listener_class_init): add signal.
6302 (impl_key_event): emit the event.
6303 (boolean_handled_accumulator): impl.
6304 (marshal_BOOLEAN__POINTER): add, gack.
6306 * libspi/accessibleeventlistener.c
6307 (spi_event_listener_class_init): add signal.
6308 (impl_accessible_event_notify_event): emit the signal &
6309 make the loop efficient.
6310 (spi_event_listener_add_callback): prepend the callback.
6312 * libspi/accessibleeventlistener.h: add an 'event' signal,
6313 decl type on callback.
6315 * libspi/keystrokelistener.h: ditto.
6317 * cspi/spi-listener.h: make methods typesafe and
6318 make them use the new event typedefs.
6320 * test/simple-at.c (report_focussed_accessible):
6321 include mag_client.h
6322 Use *(void *)text_interface not the other thing.
6324 * configure.in: add gtk to registryd bits - since we use
6327 * util/magnifier.c: include libbonobo.h
6329 2001-11-25 Bill Haneman <bill.haneman@sun.com>
6331 * test/keysynth-demo.c:
6332 Turned this into a simple scanning keyboard, to demonstrate the
6333 use of g_timeout_add () as a means of creating timers for
6334 scanning, and the use of GtkStyle for visually indicating when
6335 virtual keyboard elements are selected.
6337 keysynth-demo now listens to any keyboard keys with zero-valued
6338 keycodes (i.e. 'unused' keys) and interprets them as
6341 Reworked the shiftlatch code so that shift-down state isn't held
6342 for long periods (it's only synthesized immediately prior to
6343 the keysynth event it's modifying). Note that shiftlatch in this
6344 demo is a convenience, not intended to take the place of AccessX
6345 which is the better choice for getting 'sticky' modifier keys.
6347 * libspi/deviceeventcontroller.c:
6348 * at-bridge/bridge.c:
6349 * cspi/spi_registry.c:
6350 Removed some debug print stuff, and put other verbosity in #ifdef
6355 Implemented some more of the magnifier IDL for the simple
6356 magnifier: namely, getZoomRegionParams.
6357 Added mag_x and mag_y members to MagnifierData struct, aid of this
6359 Added GtkWindow::realize signal handler to magnifier, to keep it
6360 from receiving keyboard focus from the WM.
6362 2001-11-23 Mark McLoughlin <mark@skynet.ie>
6364 * cspi/spi-private.h: my guess at what michael forgot
6365 before he ran off to NZ :-)
6367 2001-11-23 Michael Meeks <michael@ximian.com>
6369 * cspi/spi_event.c (AccessibleEventListener_removeCallback):
6370 comment out non existant method invoke so we link.
6372 * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
6373 use bonobo_exception_get_text for more friendly warnings.
6375 * cspi/spi.c (Obj_Add): move into spi_main & rename
6376 spi_object_add; kill spi.c
6378 * cspi/spi_registry.c
6379 (deregisterGlobalEventListener),
6380 (deregisterGlobalEventListenerAll),
6381 (registerGlobalEventListener): fix exception leaks.
6383 * cspi/spi_main.c (spi_exception): impl. helper, so we
6384 don't leak exceptions.
6386 * cspi/spi_selection.c
6387 (AccessibleSelection_deselectSelectedChild): return the
6390 * cspi/spi_main.c (spi_ev): impl; hack - gack.
6391 (spi_registry): ditto.
6392 (SPI_init): guard against double inits.
6394 * cspi/*.c: use spi_ev (), and spi_registry () where
6395 appropriate - a temporary hack until we have something
6396 better. Use spi_object_add
6398 2001-11-22 Michael Meeks <michael@ximian.com>
6400 * cspi/Makefile.am: re organise, install the headers.
6402 * cspi/*.h: add G_BEGIN/END_DECLS
6404 2001-11-22 Bill Haneman <bill.haneman@sun.com>
6407 Added non-preemptive keylistener for key events with no modifiers
6408 and shift-only modifier.
6410 * libspi/keystrokelistener.c:
6411 Removed some verbose diagnostics printout.
6413 * cspi/spi_registry.c:
6414 Fixed a bug that caused all key listeners to be registered as
6417 * libspi/deviceeventcontroller.c:
6418 Fixed bug that caused XGrabKey (preemptive key grab) to be called
6419 for non-preemptive key masks.
6422 2001-11-22 Bill Haneman <bill.haneman@sun.com>
6424 * docs/reference/idl/at-spi-idl-docs.sgml:
6425 * docs/reference/idl/at-spi-idl-sections.txt:
6426 * docs/reference/idl/at-spi-idl-overrides.txt:
6427 Added missing files.
6429 * docs/reference/Makefile.am:
6430 removed idl from SUBDIRS until we can figure a way to get gtk-doc
6431 to scan the IDL files :-(
6436 Added .cvsignore files.
6438 2001-11-21 Bill Haneman <bill.haneman@sun.com>
6440 * libspi/deviceeventcontroller.c:
6441 * libspi/keystrokelistener.c:
6443 * cspi/spi_registry.c:
6444 Added filters for KeySets, KeyEventSeq, and event types to key
6445 event dispatching, so listeners should only receive those events
6446 that they requested :-)
6448 2001-11-21 Bill Haneman <bill.haneman@sun.com>
6453 * docs/reference:Makefile.am:
6454 * docs/reference/cspi:
6455 * docs/reference/cspi:Makefile.am:
6456 * docs/reference/cspi:tmpl:
6457 * docs/reference/cspi:tmpl:*.sgml:
6458 * docs/reference/idl:
6459 * docs/reference/idl:Makefile.am:
6460 * docs/reference/idl:at-spi-idl-sections.txt:
6461 * docs/reference/idl:at-spi-idl-docs.sgml:
6462 * docs/reference/idl:tmpl:
6463 * docs/reference/idl:tmpl:*.sgml:
6465 Restructured docs directory to allow separate 'reference' docs
6466 section, and forked idl and cspi docs. Added the sgml template
6467 files to CVS. Added the first sections/structural sgml for the
6470 2001-11-21 Laszlo Peter <laca@ireland.sun.com>
6472 * configure.in, libspi/Makefile.am: find libXtst.
6474 2001-11-21 Michael Meeks <michael@ximian.com>
6476 * test/accessx-gui.c: s/spi_value/value/ - doh.
6478 * libspi/base.[ch]: add.
6480 2001-11-18 Bill Haneman <bill.haneman@sun.com>
6482 * idl/Accessible.idl:
6483 * idl/Application.idl:
6486 Started gtk-doc cleanup on IDL.
6488 * libspi/deviceeventcontroller.c:
6489 Added and connected non-preemptive key notification from the
6490 toolkits (in addition to the pre-emptive support from XServer
6491 which we had before, but which causes 'focus flashing'). Filters
6492 are presently limited to key modifiers and global/non-global,
6493 KeySets are presently ignored, as are KeyEvent masks.
6495 Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
6496 structs into the persistant structure rather than just storing
6497 pointers to things that might not persist across servant
6500 The XGrabKey call now does async keygrabs, because synchronous
6501 ones were deadlocking with GDK_event code in a very nasty way.
6503 Added boolean to internal method notify_keylisteners, to indicate
6504 whether the event came from the 'toolkit source' or the 'global
6505 (XServer) source' - this is used in the notification process to
6506 determine which listeners to send the event to.
6508 deviceeventcontroller.c is now warning-free.
6510 * libspi/registry.c:
6511 Fixed regression in application de-registration.
6512 Also fixed some really brain-dead weirdness having to do with
6513 event dispatching - event structs are now duplicated before being
6514 re-marshalled in the dispatch to listeners. This also fixes a
6515 Solaris build problem.
6518 2001-11-20 Michael Meeks <michael@ximian.com>
6521 (impl_accessibility_registry_deregister_global_event_listener):
6524 * libspi/deviceeventcontroller.c
6525 (spi_device_event_controller_check_key_event): return
6526 FALSE on no virtual method.
6528 * libspi/*..h: make includes work on a correctly pathed install.
6530 * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
6532 * libspi/application.h: kill unused ( and whacked out )
6533 gboolean *spi_application_set_id (AtkObject *app, long id);
6535 2001-11-20 Michael Meeks <michael@ximian.com>
6537 * libspi/*.[ch]: further convert to bonobo's type func
6538 macros, remove redundnant casts etc.
6540 * libspi/text.c s/accessibility_text/spi_text/g,
6541 re-order to de-cruft.
6543 * libspi/hypertext.c: re-order to kill a huge slew
6544 of redundant forward decls.
6546 * libspi/relation.c: ditto.
6548 * libspi/image.c: ditto.
6550 * */.cvsignore: update
6552 2001-11-20 Michael Meeks <michael@ximian.com>
6554 * libspi/deviceeventcontroller.c
6555 (_controller_register_with_devices): use g_getenv,
6556 kill stdlib.h include.
6558 * libspi/keystrokelistener.c
6559 (spi_keystroke_listener_get_type): kill
6560 (spi_keystroke_listener_class_init),
6561 (spi_keystroke_listener_init): rename to this.
6563 * libspi/text.c (impl_getAttributes): fix warning / bug.
6565 * libspi/*.[ch]: more headers, includes and over commenting.
6567 2001-11-20 Michael Meeks <michael@ximian.com>
6569 * libspi/*.[ch]: fixup headers, includes and over commenting.
6571 * libspi/image.c (impl__get_imageDescription): const
6572 correctness warning fix. remove redundant casting.
6574 * libspi/table.c (impl_getRowDescription): ditto.
6575 (impl_getColumnDescription): ditto.
6577 * libspi/libspi.h: add.
6579 2001-11-19 Michael Meeks <michael@ximian.com>
6581 * libspi/editabletext.c (impl_setAttributes): fix warnings.
6583 * libspi/component.c (accessibility_component_get_type):
6584 rename to (spi_component_get_type): and macroify.
6585 (accessibility_component_init): rename to
6586 (spi_component_init): this
6587 (accessibility_component_class_init): rename to
6588 (spi_component_class_init): this
6590 * libspi/action.c (spi_action_get_type): kill, use the macro.
6592 * libspi/deviceeventcontroller.c (_compare_listeners): re-order
6595 * libspi/application.c (spi_application_object_event_listener),
6596 (impl_accessibility_application_register_object_event_listener):
6597 warning fixes / const understanding updates.
6599 * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
6602 2001-11-18 Bill Haneman <bill.haneman@sun.com>
6604 * libspi/spi_accessible.c: Added docs and C bindings for
6605 AccessibleStateSet. (No implementations yet). Documentation
6606 coverage for C bindings now 100%. Made docs for event listeners
6611 boolean notifyListenersSync (in DeviceEventListener listener,
6612 in DeviceEvent event);
6614 oneway void notifyListenersAsync (in DeviceEventListener listener,
6615 in DeviceEvent event);
6617 Added DeviceEventListener and DeviceEvent structs (may deprecate
6618 KeyStroke and KeystrokeListener in favor of this generic
6619 event/listener framework for devices).
6621 * libspi/deviceeventcontroller.c:
6623 Changed some key listener code to take masks, etc., and paved the
6624 way for integration of toolkit/non-preemptive key events. Changed
6625 signatures of some internal methods.
6627 * at-bridge/bridge.c:
6628 Fixed regression connecting to interface signals, apparently
6629 caused by GTK+ changes.
6631 Added an internal bridge_state_listener to deal with
6632 property-change:accessible-state signals.
6634 Changed the key_listeners GList to store structs (including masks,
6635 etc.) instead of just CORBA_Objects (required for full
6636 implementation of key listener API).
6638 Connected the bridge to all currently supported Atk signals.
6639 Events now supported:
6640 object:property-change
6641 object:property-change:accessible-name
6642 object:property-change:accessible-state
6643 object:property-change:accessible-description
6644 object:property-change:accessible-parent
6645 object:property-change:accessible-value
6646 object:property-change:accessible-role
6647 object:property-change:accessible-table-caption
6648 object:property-change:accessible-table-column-description
6649 object:property-change:accessible-table-column-header
6650 object:property-change:accessible-table-row-description
6651 object:property-change:accessible-table-row-header
6652 object:property-change:accessible-table-summary
6653 object:children-changed
6654 object:visible-data-changed
6655 object:selection-changed
6656 object:text-selection-changed
6658 object:text-caret-moved
6660 object:row-reordered
6662 object:column-inserted
6663 object:column-reordered
6664 object:column-deleted
6665 object:model-changed
6667 2001-11-16 Bill Haneman <bill.haneman@sun.com>
6669 * libspi/hyperlink.c,h:
6670 Fixed some broken stuff in hyperlink.
6672 * libspi/relation.h:
6673 * libspi/relation.c:
6674 * cspi/spi_accessible.c:
6675 Initial implementations of AccessibleRelation methods, and docs.
6677 * libspi/accessible.c:
6678 Fixed a bug that caused SEGV if an accessible
6679 object's description is NULL, and a client
6680 requests it. An empty string is now returned.
6682 * cspi/spi_editabletext.c:
6683 * cspi/spi_hypertext.c:
6685 * cspi/spi_hyperlink.c:
6689 Doc coverage now 95%.
6691 2001-11-16 Bill Haneman <bill.haneman@sun.com>
6693 One last namespacing revision:
6694 * libspi/accessibleeventlistener.[ch]:
6695 Renamed SpiAccessibleEventListener to SpiEventListener,
6696 (no need for two namespaces ;-)
6698 And lots of documentation fixes:
6700 * docs/at-spi-docs.sgml:
6701 Fixed 'underscore vs. hyphen' bug that was preventing
6702 the gtk-doc API docs from being automatically generated.
6705 * cspi/spi-listener.h
6707 * cspi/spi_accessible.c
6709 * cspi/spi_application.c
6710 * cspi/spi_component.c
6711 * cspi/spi_editabletext.c
6713 * cspi/spi_hypertext.c
6715 * cspi/spi_registry.c
6716 * cspi/spi_selection.c
6720 * docs/at-spi-docs.sgml
6721 * docs/at-spi-sections.txt
6723 Added and fixed up gtk-doc documentation in cspi.
6725 Interfaces now (fully) documented (subject to revision and enhancement):
6727 Event Listener Support
6729 AccessibleApplication
6733 AccessibleEditableText
6740 AccessibleRelationSet
6745 2001-11-14 Bill Haneman <bill.haneman@sun.com>
6747 * at-bridge/bridge.c:
6748 Initial work for toolkit-level key snooper connection by bridge.
6753 New typedefs and fixes to support new namespacing, and cleaner
6754 separation of cspi bindings from libspi bonobo implementation.
6755 Removed inconsistent and extraneous Spi* namespace prefix that
6756 had crept into cspi headers.
6757 Lots of comment fixes that sed had missed.
6759 * cspi/spi-roletypes.h:
6760 * cspi/spi-statetypes.h:
6761 Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
6762 to AccessibleRoleType.
6764 * libspi/accessibleeventlistener.h:
6765 Fixed minor namespacing weirdness.
6767 * libspi/deviceeventcontroller.c:
6768 Reordered some internal API for device listeners.
6769 Changed the key registry final boolean to 'is_system_global'
6770 rather than 'is_synchronous', which is more descriptive of its
6772 Added spi_device_event_controller_new().
6773 Added SpiRegistry backpointer to SpiDeviceEventControllerClass.
6775 * libspi/keystrokelistener.[ch]:
6776 Namespaced KeystrokeListener to SpiKeystrokeListener.
6777 Changed uses of keymasks to use SPI_ prefix, and did other
6780 * libspi/keymasks.h:
6781 Namespaced keymask constants with SPI_ prefix.
6783 * libspi/registry.c:
6784 Some warning fixes, and knock-on fixes from namespace changes.
6787 Added rules for accessx-gui test program.
6789 * test/accessx-gui.c:
6790 Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
6791 utility. It doesn't actually use at-spi, but it's still cool and
6794 * test/keysynth-demo.c:
6798 Fixes so that these test clients work properly with the namespaced
6799 libraries. (Incompletely tested for technical reasons, fixes may follow)
6802 2001-11-13 Michael Meeks <michael@ximian.com>
6804 * libspi/application.c
6805 (impl_accessibility_application_get_version),
6806 (impl_accessibility_application_get_toolkit_name):
6808 (impl_accessibility_application_set_id),
6809 (impl_accessibility_application_get_id): remove
6810 redundant casting code.
6812 * libspi/action.c (impl_getDescription): fix warnings.
6814 * libspi/accessible.c
6815 (impl_accessibility_accessible_get_parent),
6816 (impl_accessibility_accessible_get_child_at_index),
6817 (impl_accessibility_accessible_get_state),
6818 (impl_accessibility_accessible_get_relation_set):
6819 warning fixes & include action.h
6821 2001-11-13 Michael Meeks <michael@ximian.com>
6823 * *.[ch] fix bits I screwed up:
6825 s/([^ \tb(\*\&\?\",])spi_/\1/g;
6826 s/([^ \tb(\*\&\?\",])Spi/\1/g;
6828 2001-11-13 Michael Meeks <michael@ximian.com>
6830 * *.[ch] Namespace libspi into spi_ and Spi.
6832 2001-13-11 Michael Meeks <michael@ximian.com>
6834 * Makefile.am: dist & install at-spi-1.0.pc
6836 * libspi/Makefile.am: install into at-spi-1.0
6838 * idl/Makefile.am (idldir): install into at-spi-1.0
6840 * at-spi-1.0.pc.in: add.
6842 * configure.in: build it.
6844 2001-11-12 Bill Haneman <bill.haneman@sun.com>
6846 * test/keysynth-demo.c:
6847 Use a 'realize' signal-handler to set the WM properties for
6848 the virtual keyboard, rather than making it a "POPUP" type
6849 override-redirect window (thanks to anders carlsson for that
6852 2001-11-11 Bill Haneman <bill.haneman@sun.com>
6855 * test/keysynth-demo.c:
6856 Added new test of key synthesis, which creates a simple
6857 (mouse-operated) onscreen keyboard. It inserts key events into
6858 the currently-focused window, thus it does not grab keyboard focus
6861 * cspi/spi_registry.c:
6862 Added C binding for AT-SPI generateKeyEvent.
6864 * libspi/deviceeventcontroller.c:
6865 Added call to XFilterEvent so that key listener works with XIM (we
6866 hope). Added event_synth_type to generateKeyEvent, so that we can
6867 produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
6868 synthesize a press/release pair for KeySyms.
6870 2001-11-09 Bill Haneman <bill.haneman@sun.com>
6872 * libspi/Makefile.am:
6873 * registryd/Makefile.am:
6874 (temporary) hack to include libXtst in libspi and registryd.
6875 (Needed for keystroke synthesis, see below).
6878 Improved API for registerKeystrokeListener, in accordance with
6879 discussions with Gnopernicus team and X server research.
6881 * libspi/registry.c:
6882 * libspi/deviceeventcontroller.c:
6883 * libspi/accessible.c:
6884 * libspi/keystrokelistener.c:
6885 Changes and fixes to support keylisteners for potentially
6886 consumed key events (that is, 'passive grabs').
6887 Added implementation for generateKeyEvent() [untested].
6890 Changes to registerKeystrokeListener() API, as above.
6891 Added deregisterGlobalEventListenerAll(), and
6892 deregisterKeystrokeListener(), which are needed for clean exit of
6894 Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
6895 and a macro ALL_KEYS which may be used in place of a KeySet pointer.
6897 * cspi/spi_registry.c:
6898 Added implementations of function prototypes mentioned above.
6900 * registryd/registryd.c:
6901 Added the key listener event source as a g_timeout(), to allow
6902 receipt of key events that are not caught by GDK (since GDK
6903 doesn't support passive keygrabs, this was necessary).
6906 Changed to attach a keylistener to 'Alt' keys, and
6907 respond to the following keycommands: Alt-M (toggle magnifier);
6908 Alt-F (toggle speech); Alt-Q (quit).
6909 Added an exit routine to deregister the listeners, and a key
6910 listener that prints some key info to the console when a key
6911 matches the listener mask (and is thus received by the listener).
6913 * util/idl/Magnifier.idl:
6914 Changes to magnifier API to support multiple zoom regions,
6915 non-uniform scaling in x and y, markDirty, and a host of other
6916 features that would be useful to magnification.
6919 * util/mag_client.c:
6920 * util/mag_client.h:
6921 * util/mag_control.c:
6923 Source code changes to support the above IDL changes.
6926 As above, and also changes to use a (slower) generic conversion
6927 path for colormap conversions, since the fast RGB conversions have been
6928 reported to fail for 16-bit displays.
6930 2001-10-26 Michael Meeks <michael@ximian.com>
6932 * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
6934 2001-10-26 Laszlo Peter <laca@ireland.sun.com>
6936 * at-bridge/Makefile.am: fix LDFLAGS.
6938 2001-10-09 Bill Haneman <bill.haneman@sun.com>
6940 * at-bridge/bridge.c:
6941 Re-worked listeners for toolkit events, now we have signal
6942 and property listeners. Added a private method
6943 register_atk_event_listeners(), which registers with the
6944 various atk and gtk signals we need to monitor in order to emit
6946 Added emission hook for AtkObject:property-change events, to
6947 support the 'property listeners'.
6948 Fixed some alloc()s of Accessibility_Event structs to use CORBA
6951 * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
6952 which emit warnings and exit, respectively, if CORBA errors occur
6953 during remote calls, and we now use these methods to check most of
6954 our CORBA calls in the C bindings.
6956 * cspi/spi_accessible.c:
6957 Changed AccessibleSelection_refSelectedChild() to
6958 AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
6959 now increment refcounts.
6961 * cspi/spi_component.c:
6962 Fixed some long pointer casts (dangerous!) to pass pointers to
6963 CORBA_longs of the proper type to the CORBA stubs, and copy the
6964 data into the longs that were passed into the C bindings code.
6966 * at-bridge/bridge.c:
6968 * libspi/accessible.c:
6969 Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
6970 hyperlinks, AtkHyperlink is an object type.
6972 * libspi/application.c:
6973 Added various conversions to and from "generic" event types and
6974 atk-specific types; this is really part of the 'bridge'
6975 implementation but is valid for all AtkObject-based accessibility
6978 * libspi/editabletext.c:
6979 Fixed nasty bug wherein editable text's finalize method was
6980 unref'ing tha AtkObject reference that the text parent class was
6981 about to unref _again_. There was also a nasty inheritance bug
6982 that meant that the AccessibleEditableText class was corrupt.
6984 * libspi/selection.c:
6985 Provided implementations for some selection API that was broken.
6987 * idl/Application.idl:
6988 Added registerObjectEventListener () method.
6991 Fixed a number of return values that were Bonobo_Unknowns from
6992 bonobo_object_corba_objref(), which I
6993 forgot to dup before returning. Changed instances of
6994 bonobo_object_corba_objref (bonobo_object(o)) to
6995 BONOBO_OBJREF(o), for concision and clarity.
6997 2001-10-13 Louise Miller <louise.miller@sun.com>
6999 * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
7000 idl/Event.idl, idl/Registry.idl
7001 Changed these files to include Bonobo_Unknown.idl instead
7004 2001-09-10 Marc Mulcahy <marc.mulcahy@sun.com
7006 * libspi/component.c libspi/component.h:
7007 Fixed typo. Added assertions for object checks in
7008 AccessibleComponent code.
7010 2001-10-09 Bill Haneman <bill.haneman@sun.com>
7012 * idl/Accessible.idl:
7013 Added 'isEqual (Accessible *object)'
7014 method for Accessible. (Not Yet Implemented).
7017 Changed signature of registerKeystrokeListener() to
7018 take a KeySet and KeyEventSeq so that specific keys and event
7019 types could be requested for monitoring, and added a flag
7020 is_synchronous so that either synchronous or asynchronous
7021 notification could be requested. (However this is not all
7022 implemented yet). This also meant adding two new typedefs,
7023 KeyEventSeq and KeySet.
7026 Added two new relations, RELATION_TOOLTIP_FOR and
7027 RELATION_LEAFNODE_OF.
7030 Added new state, STATE_HAS_TOOLTIP.
7032 * libspi/text.c, editabletext.c:
7033 Added new assertions to all casts of bonobo-objects from
7034 CORBA servants, to prevent Text API calls on non-text objects.
7035 Changed suspect casts of int-pointer types, so that we
7036 always send a valid CORBA_long pointer to the CORBA APIs that use
7037 in/out long parameters. We then have to copy from the CORBA_long
7038 into the regular long or int for return to the C bindings, or
7039 vice-versa when returning parameters from ATK calls to the bonobo wrappers.
7042 * libspi/deviceeventcontroller.c:
7043 Cleaned these sources up.
7045 Changed return type for getCharacterAtOffset to
7046 CORBA_unsigned_long, to allow for 32-bit characters.
7049 2001-10-08 Bill Haneman <bill.haneman@sun.com>
7053 Fixed 'make dist' so that distro compiles...
7054 * libspi/keymasks.h:
7056 * cspi/spi-listener.c:
7057 KeystrokeListenerCB now returns a boolean.
7059 Added KeyEventType struct, and KeyStroke.
7060 Also added createKeystrokeListener(),
7061 KeystrokeListener_addCallback(),
7062 KeystrokeListener_removeCallback(), and added a keymask to
7063 registerKeystrokeListener().
7064 * cspi/spi_accessible.c:
7065 Changed numerous return types for interfaces from
7066 AccessibleComponent to Accessible<InterfaceName>; this was
7067 probably a cut-and-paste error.
7069 Implementations of new KeystrokeListener api (from spi.h,
7072 Changes to key modifier mapping.
7073 Created ControllerEventMask struct.
7074 Made DeviceEventController derive from Bonobo::Unknown.
7076 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
7077 * libspi/deviceeventcontroller.c:
7078 Added a number of new internal (private) methods.
7079 * libspi/editabletext.c:
7080 * libspi/editabletext.h:
7081 Fixed a number of bugs related to the fact that
7082 editabletext inherits from text. Fixed the EditableText struct,
7083 the init() call, and use correct casts when calling Text methods
7084 from an EditableText object. Removed (duplicate) atko from the
7085 EditableText structure, we use the one in the parent Text
7086 structure via the casts mentioned above.
7087 * libspi/keystrokelistener.[ch]:
7088 * libspi/registry.c:
7089 Changes in support of keyboard handling (above).
7091 Keyboard handling, though partly functional, is still not
7092 recommended for at-spi client use as there is considerable
7093 work yet to be done.
7096 Changed some places where pointers to various int types
7097 are cast to be pointers to CORBA_long types and vice-versa:
7098 pointer casting is not safe so we pass pointers of the correct
7099 types and then cast the result before putting it into the target
7102 * libspi/text.h: minor typos corrected.
7104 We now speak not only the name of a Text element, but the
7105 first sentence of its content, when it receives focus.
7106 I also changed the text compression to 75% from 50%.
7107 * util/Accessibility_Util.server.in:
7108 Changed the default magnifier type to be a 3x vertical
7109 splitscreen magnifier (was previously a 2x horizontal one).
7111 2001-10-03 Bill Haneman <bill.haneman@sun.com>
7113 * libspi/keystrokelistener.h:
7114 * libspi/keystrokelistener.c:
7115 Initial functional implementations of KeystrokeListener.
7118 2001-10-05 Marc Mulcahy <marc.mulcahy@sun.com>
7120 Fixed string handling for NULL strings in libspi.
7121 Added spi_freeString to free strings returned by C bindings.
7123 2001-09-30 Bill Haneman <bill.haneman@sun.com>
7125 * libspi/keystrokelistener.h:
7126 * libspi/keystrokelistener.c:
7127 Began (no-op) implementations of KeystrokeListener
7129 * libspi/deviceeventcontroller.c:
7130 * libspi/deviceeventcontroller.h:
7131 Began creating implementations of DeviceEventController,
7132 to handle keystroke and mouse event listening and
7134 * libspi/accessible.c:
7135 Stubbed-in the implementations for
7136 Accessibility_Accessible_getState and
7137 Accessibility_Accessible_getRelationSet.
7138 * libspi/registry.c:
7139 Improved de-registration process and fixed some bugs,
7140 deregistration now works correctly.
7142 Added initialization of applications list (to NULL).
7144 Reduced speech compression from 0.5 to 0.7, for demo.
7145 Changed call to gdk_window_set_decorations()
7146 to gtk_window_set_decorated().
7147 * at-bridge/bridge.c:
7148 Bridge now deregisters when app exits, via
7149 registration of a cleanup function
7150 with the g_atexit() call.
7151 Required making 'app' static, renamed 'this_app'.
7152 Fixed broken use of bonobo_init, passing argv wrongly.
7154 2001-09-27 Bill Haneman <bill.haneman@sun.com>
7158 Created a new directory for
7159 accessibility-related utilities, primarily for
7160 testing and demo purposes, but with possible
7167 Onscreen magnifier utility that
7168 is implemented as a bonobo service.
7170 * util/mag_client.c:
7171 * util/mag_client.h:
7172 Client-side support (simple C bindings)
7173 for Magnification service
7175 * util/mag_control.c:
7176 Client program example for
7177 Magnification service
7179 * util/Accessibility_Magnifier.server.in:
7180 Bonobo-activation file for the
7181 Magnification service.
7184 * util/idl/Magnifier.idl:
7185 IDL defining the bonobo Magnification
7189 Modifications to use the bonobo-activated magnifier
7190 above, in place of trying to connect to an existing
7191 magnifier that uses socket-listening IPC.
7193 If env variable MAGNIFIER is set, a magnifier service
7194 will be started if one does not exist.
7196 2001-09-25 Bill Haneman <bill.haneman@sun.com>
7198 * at-bridge/bridge.c:
7199 applied patch from Marc to build and run
7200 against new glib and gtk+ (seemed like a change
7201 to bonobo_init signature was made ?)
7203 made festival-server support turned off by default.
7204 Added support for a simple magnifier (off by default)
7205 which will be added to a 'util' directory later.
7206 * at-bridge/Makefile.am:
7207 Changed "application.h" header from a 'source'
7208 to a 'dependency' of libat-bridge.
7210 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
7219 Added interface implementation c files to list of
7220 includes so they are included in libcspi.
7223 Changed prototype of AccessibleAction_doAction to return a
7225 Changed prototype of AccessibleTable_getCaption to
7226 return an Accessible.
7227 Changed prototype of AccessibleTable_getSelectedRows
7228 and AccessibleTable_getSelectedColumns to
7229 return a long (returns the number of selected rows
7230 or columns respectively).
7231 Changed name of AccessibleText_refRunAttributes to
7232 AccessibleText_getAttributes.
7233 Changed prototype of AccessibleText_getCharacterExtents to
7234 return a void rather than a boolean.
7235 Added support for a AccessibleCoordType parameter
7236 specifying what type of coordinates are desired.
7237 Added an AccessibleCordType parameter to
7238 AccessibleText_getPointAtOffset.
7240 * cspi/spi_accessible.c:
7241 Added code to return the outstanding interfaces from
7242 Accessible_queryInterface.
7244 * cspi/spi_action.c:
7246 Corrected call to getNActions to call the c binding
7249 * cspi/spi_editabletext.c:
7251 Changed name from setRunAttributes to setAttributes.
7253 * cspi/spi_hyperlink.c:
7255 Changed call to getNAnchors to correctly call the c
7256 binding for an attribute.
7258 * cspi/spi_hypertext.c:
7260 Changed getImageDescription to correctly call the
7261 binding for an attribute.
7263 * cspi/spi_selection.c:
7264 Changed getNSelectedChildren to correctly call the c
7265 binding for the attribute.
7266 Changed refSelectedChild to getSelectedChild.
7270 Changed getCaption to return an Accessible.
7271 Fixed calls which retrieve attributes.
7272 Changed refAt to getAccessibleAt.
7273 Changed getNSelectedRows and getNSelectedColumns to
7277 Changed getCharacterExtents and getPointAtOffset to accept an
7278 AccessibleCoordType.
7280 Changed calls which retrieve attributes.
7281 Changed refRunAttributes to getAttributes.
7286 * idl/Hyperlink.idl:
7287 Changed n_anchors attribute to nAnchors to keep naming
7288 convention consistent.
7291 Made Table inherit from Bonobo::Unknown.
7292 Added nSelectedColumns and nSelectedRows attributes.
7295 Made Value inherit from Bonobo::Unknown.
7297 * libspi/hyperlink.c:
7298 Change for nAnchors attributte name change.
7300 2001-09-12 Marc Mulcahy <marc.mulcahy@sun.com>
7308 Added interface implementation c files to list of
7309 includes so they are included in libcspi.
7312 Changed prototype of AccessibleAction_doAction to return a
7314 Changed prototype of AccessibleTable_getCaption to
7315 return an Accessible.
7316 Changed prototype of AccessibleTable_getSelectedRows
7317 and AccessibleTable_getSelectedColumns to
7318 return a long (returns the number of selected rows
7319 or columns respectively).
7320 Changed name of AccessibleText_refRunAttributes to
7321 AccessibleText_getAttributes.
7322 Changed prototype of AccessibleText_getCharacterExtents to
7323 return a void rather than a boolean.
7324 Added support for a AccessibleCoordType parameter
7325 specifying what type of coordinates are desired.
7326 Added an AccessibleCordType parameter to
7327 AccessibleText_getPointAtOffset.
7329 * cspi/spi_accessible.c:
7330 Added code to return the outstanding interfaces from
7331 Accessible_queryInterface.
7333 * cspi/spi_action.c:
7335 Corrected call to getNActions to call the c binding
7338 * cspi/spi_editabletext.c:
7340 Changed name from setRunAttributes to setAttributes.
7342 * cspi/spi_hyperlink.c:
7344 Changed call to getNAnchors to correctly call the c
7345 binding for an attribute.
7347 * cspi/spi_hypertext.c:
7349 Changed getImageDescription to correctly call the
7350 binding for an attribute.
7352 * cspi/spi_selection.c:
7353 Changed getNSelectedChildren to correctly call the c
7354 binding for the attribute.
7355 Changed refSelectedChild to getSelectedChild.
7359 Changed getCaption to return an Accessible.
7360 Fixed calls which retrieve attributes.
7361 Changed refAt to getAccessibleAt.
7362 Changed getNSelectedRows and getNSelectedColumns to
7366 Changed getCharacterExtents and getPointAtOffset to accept an
7367 AccessibleCoordType.
7369 Changed calls which retrieve attributes.
7370 Changed refRunAttributes to getAttributes.
7375 * idl/Hyperlink.idl:
7376 Changed n_anchors attribute to nAnchors to keep naming
7377 convention consistent.
7380 Made Table inherit from Bonobo::Unknown.
7381 Added nSelectedColumns and nSelectedRows attributes.
7384 Made Value inherit from Bonobo::Unknown.
7386 * libspi/hyperlink.c:
7387 Change for nAnchors attributte name change.
7390 2001-09-05 Marc Mulcahy <marc.mulcahy@sun.com>
7392 implementations-- made server implementations own AtkObject pointers
7393 rather than their respective AtkInterrface pointers to fix
7394 refcounting. AtkHyperlink is still broken.
7396 2001-09-04 Bill Haneman <bill.haneman@sun.com>
7397 * cspi/spi_accessible.c:
7398 Added method Accessible_Role_getName(),
7399 and requisite string array (role_names).
7400 Added conversion string_from_corba_strin() call
7401 to Accessible_getName and _getDescription.
7402 * libspi/accessible.c:
7403 Added implementation for Accessible_getRole()
7405 Added festival support, used if environment variable
7408 2001-09-04 Bill Haneman <bill.haneman@sun.com>
7410 * at-bridge/bridge.c:
7411 Now allocate Accessibility_Event using
7412 Accessibility_Event__alloc() instead of g_new0().
7413 * libspi/accessibleeventlistener.c:
7414 Initialize AccessibleEventListener->callbacks to NULL.
7415 Fixed accessible__event_listener_init() param, changed to
7416 "AccessibleEventListener *" type.
7417 Changed a bonobo_object_release_unref() call to
7418 Accessibility_Accessible_unref().
7419 * libspi/listener.c:
7420 Changed Bonobo_Unknown_unref to (equivalent)
7421 Accessibility_Accessible_unref.
7422 * libspi/registry.c:
7423 Changed bonobo_object_release_unref to
7424 Accessibility_Accessible_unref.
7426 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
7429 spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
7430 spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
7431 spi-util.c spi-util.h
7432 Implementations for C bindings to remaining accessibility
7435 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
7438 changed return value of Action from void to boolean to
7439 bring in line with ATK.
7442 Changed getText funcions to return "out" start and end offsets.
7443 Changed getAttributes to take and offset and return the start
7444 and end offset of the attribute run.
7445 Changed getOffsetAtPoint and getCharacterExtents to take an
7446 enum describing whether coordinates are window or screen.
7449 libspi/action.c libspi/action.h libspi/editabletext.c
7450 libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
7451 libspi/hypertext.c libspi/hypertext.h libspi/image.c
7452 libspi/image.h libspi/selection.c libspi/selection.h
7453 libspi/table.c libspi/table.h libspi/text.c libspi/text.h
7454 libspi/value.c libspi/value.h
7455 Added server implementations for outstanding ATK interfaces
7456 not yet implemented.
7458 2001-09-04 Bill Haneman <bill.haneman@sun.com>
7461 Added (missing) getName() method.
7462 Made nActions an attribute.
7463 * idl/EditableText.idl:
7464 Changed order of params in setAttributes.
7465 * idl/Hyperlink.idl:
7466 Removed getAnchor, added getURI.
7468 Changed attributes to methods, for efficiency
7469 (so that getting extents can be done in one call)
7470 * idl/Selection.idl:
7471 Changed nSelectedChildren to attribute, and re-indented.
7472 * idl/Table.idl: changed nrows, ncolumns, caption, summary
7474 * idl/Text.idl: reformatted to match our coding style.
7475 (temporarily?) removed getRowColumnAtOffset().
7476 Changed text selection API to support multi-select and
7477 non-contiguous selections, as in ATK.
7478 * idl/Value.idl: changed some methods to attributes.
7480 2001-08-24 Mark McLoughlin <mark@skynet.ie>
7482 * libspi/listener.c(impl_notify_event):
7483 BonoboUnkown_unref the source instead
7484 of bonobo_object_release_unref - the ORB
7485 handles the releasing.
7487 * configure.in: require ORBit-2.3.94 for
7490 2001-08-21 Bill Haneman <bill.haneman@sun.com>
7492 Tagged CVS repository 'EA_1_0'.
7493 * README.EARLY_ACCESS:
7494 Alphabetized acknowledgements list, and
7496 Listed some known dependencies of at-spi.
7498 2001-08-20 Bill Haneman <bill.haneman@sun.com>
7500 * docs/at-spi-docs.sgml:
7501 * docs/at-spi-sections.txt:
7502 * docs/at-spi-overrides.txt: (Added zero-length file)
7503 Documentation improvements - gtk-doc should build
7504 docs for all implemented C bindings now.
7507 * cspi/spi.c: (New file)
7508 * cspi/spi_event.c: (New file)
7509 * cspi/spi_registry.c: (New file)
7510 * cspi/spi_accessible.c: (New file)
7511 * cspi/spi_application.c: (New file)
7512 * cspi/spi_component.c: (New file)
7513 Split spi_main.c into six parts, and included them from
7514 "spi.c". This is a bit of a hack, probably temporary,
7515 but required by gtk-doc, apparently.
7517 2001-08-20 Bill Haneman <bill.haneman@sun.com>
7520 * docs/at-spi-docs.sgml:
7521 * docs/at-spi-sections.txt:
7523 Initial checkins/modifications for gtk-doc generation.
7526 Added (missing) interface query methods to Accessible's C binding.
7528 Added GenericInterface type definition.
7530 Added query for AccessibleComponent interface to focus event handler.
7531 Added printout of bounding box for focussed component.
7532 * libspi/component.c:
7533 Added partial implementation for AccessibleComponent to C binding.
7534 * idl/Application.idl:
7535 * libspi/registry.c:
7536 * libspi/listener.c:
7537 * libspi/application.c:
7538 * libspi/application.h:
7539 Changed "ID" attribute type from string to long.
7541 2001-08-19 Bill Haneman <bill.haneman@sun.com>
7545 Made method naming consistent: methods taking object args
7546 start with uppercase, other methods (except those using
7547 acronyms) start with lowercase. Underscores delimit between
7548 object names and method names:
7549 SPI_init() - uppercase since it starts with an acronym.
7550 getDesktopCount () - lowercase start since no object param0.
7551 Accessible_getName() - uppercase object type name, studlyCaps method
7555 Added gtk-doc documentation for all currently implemented
7556 methods in the C bindings API.
7558 2001-08-18 Bill Haneman <bill.haneman@sun.com>
7560 * Makefile.am : changed build order to build test last.
7563 Changed "createEventListener" to "CreateEventListener".
7564 * libspi/accessibleeventlistener.c :
7565 Bugfix for addition of callbacks.
7566 * test/Makefile.am :
7567 * test/simple-at.c :
7568 Added new test that uses the C bindings API.
7570 * libspi/listener.c :
7571 * libspi/registry.c :
7572 * libspi/accessibleeventlistener.c :
7573 * at-bridge/bridge.c :
7574 Renamed member "target" of Accessibility_Event to "source",
7575 which is more descriptive.
7578 2001-08-18 Bill Haneman <bill.haneman@sun.com>
7582 * cspi/Makefile.am :
7583 Added makefile support for at-spi/cspi directory.
7586 * cspi/spi-listener.h : (NEW FILE)
7587 Added support for/use of spi-listener.h.
7589 C bindings now build successfully, with no warnings.
7590 * libspi/accessibleeventlistener.h : (NEW FILE)
7591 * libspi/accessibleeventlistener.c : (NEW FILE)
7592 * libspi/Makefile.am :
7593 Added new object type "AccessibleEventListener"
7594 which inherits from Listener, and allows attachment
7595 of in-process callbacks (so that a client with a listening
7596 object instance can add functionality to the local
7597 implementation, dynamically).
7599 2001-08-18 Bill Haneman <bill.haneman@sun.com>
7601 * libspi/accessible.c:
7602 Add implementation for get_index_in_parent().
7604 Added #include of "spi-roletypes.h", and
7605 added enumerated type AccessibleCoordType.
7606 Added definition for KeystrokeListener (function type).
7609 * cspi/spi-statetypes.h :
7610 * cspi/spi-roletypes.h :
7612 Added these headers, used by spi.h.
7614 Added code (NOTE: not yet built by make).
7616 2001-08-18 Mark McLoughlin <mark@skynet.ie>
7618 * libspi/Makefile.am: generate imodule
7619 at the same time as other idl compiler
7622 2001-08-17 Bill Haneman <bill.haneman@sun.com>
7623 * libspi/registry.c :
7624 * libspi/application.c :
7625 * idl/Application.idl :
7626 Made registration with toolkit an application method,
7627 which is required since each app has its own toolkit static
7628 environment. Thus the bridge must register for
7629 notification of toolkit events from each application in turn.
7630 Toolkit notifications are now successfully registered for, and
7631 sent to the listening at client.
7633 Changed toolkit event string to use hyphens rather than underscores.
7634 * libspi/listener.c :
7635 listner now gives more info in debug mode - it reports the
7636 name of the event received, as well as the name of the source.
7639 2001-08-16 Bill Haneman <bill.haneman@sun.com>
7641 * libspi/registry.c :
7642 added more implementation for toolkit events.
7643 Fixed bug such that toolkit event registrations
7644 (via atk) use the whole event name string, not
7646 Removed a useless call to an ORBit_ method.
7647 * at-bridge/bridge.c :
7648 Removed unused local sbuf[] variable.
7650 We now register for Gtk:GtkWidget:button_press_event
7651 events as well as "focus:" events.
7653 Add some more API from Registry.idl that was missing,
7654 for keystroke listening, keystroke and mouse event
7655 synthesis, and enumeration of accessible desktops.
7657 2001-08-16 Michael Meeks <michael@ximian.com>
7659 * configure.in: use AM_GLIB_GNU_GETTEXT.
7661 * Makefile.am (SUBDIRS): kill intl.
7663 2001-08-15 Michael Meeks <michael@ximian.com>
7665 * registryd/Makefile.am: s/oaf/server/ relocate info file.
7667 * configure.in: upd.
7669 * configure.in: depend on a recent bonobo-activation that
7670 will find our server files ...
7672 2001-08-16 Bill Haneman <bill.haneman@sun.com>
7674 * libspi/accessible.c : accessible_new() :
7675 Now we add the Component interface via bonobo_object_add_interface,
7676 if the contained AtkObject implements AtkComponent.
7677 * libspi/accessible.h : now include "component.h"
7678 * libspi/component.h :
7679 * libspi/component.c : added files - implementation of
7680 bonobo wrapper object for Accessibility/Component
7681 * libspi/listener.c :
7682 Added test code to check for Accessibility/Component:1.0
7683 interface and report whether it is implemented by the
7685 * libspi/registry.c :
7686 Now we check for not only the hash of the whole event
7687 string before relaying the event, we also check the
7688 "minor" event string (without the detail string).
7689 This allows event listeners to be registered against
7690 all events of a certain major+minor type, or just
7691 against a specific major+minor+detail type.
7692 * libspi/accessible.c :
7693 Added implementations for Accessible:get_parent(),
7694 Accessible:getChildCount(), and Accessible:getChildAtIndex().
7695 * libspi/registry.c :
7696 * libspi/listener.c :
7697 Replaced calls to Accessibility_Accessible_ref() and
7698 Accessibility_Accessible_unref() with
7699 calls to bonobo_object_dup_ref() and
7700 bonobo_object_release_unref(), so that the CORBA object
7701 is dup-ed and released when relayed, as well as the bonobo object.
7703 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7705 * libspi/Makefile.am,
7706 registryd/Makefile.am,
7707 at-bridge/Makefile.am.
7708 test/Makefile.am, configure.in:
7709 reverse previous changes.
7711 * /idl/Image.idl: fix typo.
7713 * test/Makefile.am: put DEBUG_FLAGS
7716 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7718 * test/app.c: use argv[0] instead of
7721 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7723 * libspi/Makefile.am,
7724 registryd/Makefile.am,
7725 at-bridge/Makefile.am.
7726 test/Makefile.am, configure.in:
7727 cleanup, replace individual LIBS/CFLAGS with
7728 AT_COMMON_{LIBS|CFLAGS}.
7732 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7734 * configure.in, libspi/Makefile.am:
7735 Change IDL path checking for bonobo-activation
7738 2001-08-15 Bill Haneman <bill.haneman@sun.com>
7740 * registryd/registry.c : separated event listeners to use
7741 3 separate lists (focus, window, toolkit). Began testing
7742 event names against hashes before relaying events.
7743 * test/at.c : now register for events of type "focus:"
7744 * test/app.c : now generate events of type "focus:"
7745 * at-bridge/bridge.c : register with ATK for focus events,
7746 and we now relay those focus events to any "focus:" listeners.
7747 This now works with the bridge as a GTK_MODULE when running test/at.
7748 * libspi/registry.c :
7749 * libspi/listener.c :
7750 now we ref event sources before propagating, and unref on receipt.
7751 * libspi/registry.c :
7752 some changes to internal structs, to support event typestring hashes.
7753 * text/app.c : changed the way the appname is generated.
7754 * cspi : added directory that will hold the C bindings library for
7755 non-CORBA/bonobo-savvy clients.
7756 * cspi/spi.h : header file that contains the function prototypes for the C binding.
7757 * idl/Component.idl : added in parameter to indicate coord system for
7758 geometry-related calls.
7759 * idl/Hyperlink.idl : added readonly n_links attribute
7760 * idl/Image.idl : changed methods to attributes.
7762 2001-08-15 Mark McLoughlin <mark@skynet.ie>
7764 * at-bridge/Makefile.am: link against
7765 ../libspi/libspi.la instead of -lspi.
7767 * at-spi/test/app.c: include
7768 bonobo-activation.h. Use a default appname
7769 if one is not provided.
7771 2001-08-14 Bill Haneman <bill.haneman@sun.com>
7773 * idl/Registry.idl : temporarily changed register_Application
7774 to oneway, to work around issue with initial registration
7776 * idl/Application.idl : changed attribute "id" from readonly
7777 to read-write, since it needs to be assigned by Registry.
7778 * registryd/registryd.c : added call to set application id
7780 * registryd/registry.c : changed de-registration procedure to
7781 use CORBA_Object_hash() to find matching object ref in application
7782 lists and listener lists.
7783 * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
7784 began distinguishing between event types (work in progress).
7786 2001-08-13 Bill Haneman <bill.haneman@sun.com>
7789 * libspi/application.c:
7790 Added implementations for get/set id, get_toolkitName,
7792 * registryd/registryd.c :
7796 Converted from use of OAF to bonobo-activation.
7797 * libspi/desktop.h :
7798 * libspi/desktop.c :
7800 Removed references to atksimpleobject, since base atkobject
7801 implementation now provides functionality we need.
7802 * libspi/atksimpleobject.c :
7803 * libspi/atksimpleobject.h :
7808 * at-bridge/Makefile.am
7809 * at-bridge/bridge.c
7812 Added directory "bridge" and contents, and added dependencies
7813 in Makefile.am/configure.in.
7814 Initial checkin of "at-bridge".
7815 This code is a GTK_MODULE which automatically registers
7816 GTK+ apps with the accessibility registry, using an object
7817 reference to the root ATK object.
7819 2001-08-10 Mark McLoughlin <mark@skynet.ie>
7821 * po/Makefile.in.in: Remove. Again. If this
7822 doesn't get autogenerated - you need to update
7825 2001-08-07 Mark McLoughlin <mark@skynet.ie>
7827 * po/Makefile.in.in: Add. Again.
7829 2001-07-31 Bill Haneman <bill.haneman@sun.com>
7831 * libspi/accessible.c : added support for 'description' property.
7832 * libspi/accessible.c
7834 * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
7835 (since the two are now equivalent in libbonobo)
7843 * idl/Value.idl : changed these 'secondary' interfaces to inherit from
7844 Bonobo::Unknown as does Accessibility::Accessible.
7845 * idl/StreamableContent.idl : as above, and replaced internal InputStream
7846 interface with Bonobo::Stream, since it was redundant with it.
7847 (The Stream returned by a StreamableContext object is expected to
7848 implement only a subset of Bonobo::Stream)
7850 2001-07-28 Anders Carlsson <andersca@gnome.org>
7852 * libspi/accessible.c (accessible_object_finalize): Change
7853 g_free to g_object_unref since the AtkObject is a GObject.
7855 2001-07-30 Bill Haneman <bill.haneman@sun.com>
7857 * idl/Accessibility.idl: add new IDL files
7860 * idl/Action.idl: Definitions of actionable UI object
7861 * idl/Component.idl: Definitions of UI component geometry, etc.
7862 * idl/Hyperlink.idl: Defs of hyperlink behavior
7863 * idl/Image.idl: Def of accessible image
7864 * idl/Selection.idl: Definition of UI object with selectable children
7865 * idl/StreamableContent.idl: Definition of UI object with streamable backing data
7866 * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
7867 * idl/Text.idl: Interface defs for UI elements with complex textual content
7868 * idl/Value.idl: Definition of UI element that is a value controller or display
7870 2001-07-27 Michael Meeks <michael@ximian.com>
7872 * po/Makefile.in.in: remove autogenerated file from CVS.
7874 * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
7877 * idl/Registry.idl: include guard.
7879 * idl/Accessibility.idl: Add, and include all the other IDL
7882 * idl/*.idl: remove mass of pragmas etc.
7884 2001-07-26 Michael Meeks <michael@ximian.com>
7886 * registryd/Makefile.am (registryd_SOURCES): remove
7889 2001-07-27 Mark McLoughlin <mark@skynet.ie>
7891 * libspi/.cvsignore, registryd/.cvsignore,
7892 test/.cvsignore: updated.
7894 * po/Makefile.in.in: gettext update.
7896 2001-07-25 Bill Haneman <bill.haneman@sun.com>
7898 * initial CVS checkin
7900 2001-06-29 Michael Meeks <michael@ximian.com>
7902 * configure.in: add AM_CONFIG_HEADER to gen config.h