b0690c6bfd23eb71a76d11b46f61c00443c75217
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
1 2006-06-27  Bill Haneman <bill.haneman@sun.com>
2
3         * libspi/streamablecontent.c:
4         (impl_content_stream_close):
5         Unref the GIOChannel on close.
6         
7 2006-06-23  Bill Haneman <bill.haneman@sun.com>
8
9         * idl/Accessibility_Role.idl: 
10         * libspi/accessiblerole.c:
11         * cspi/spi_accessible.c: Added ROLE_LINK,
12         ROLE_REDUNDANT_OBJECT, and ROLE_INPUT_METHOD_WINDOW.
13         Bug #345758 and bug #140635.
14
15         
16 2006-06-22  Bill Haneman <bill.haneman@sun.com>
17
18         Bug #345701.
19         
20         * idl/Accessibility_StreamableContent.idl:
21         Fix derivation of StreamableContent and ContentStream.
22
23         * cspi/spi_streamablecontent.c:
24         (accessible_content_stream_client_read):
25         Fix the datatype of the content stream used.
26         Interpret short reads as EOF, and stop trying to 
27         read when we've fulfilled the request.
28         (AccessibleStreamableContent_getContentTypes):
29         Use g_strdup, not CORBA_string_dup, for the strings.
30         (AccessibleStreamableContent_open):
31         Correctly use the new getStream method for opening,
32         not the deprecated getContent method.
33         Use the object reference as the stream hash key.
34         Make note of the 'one stream per client per streamable'
35         limitation in the docs.
36         
37         * libspi/libspi.h:
38         Add streamablecontent.h to the list of #includes.
39
40         * libspi/streamablecontent.c:
41         (impl_content_stream_read): Initialize the GError.
42         Allocate the incoming buffer if reading a fixed length of
43         data.  Use g_memmove instead of memcpy.
44         (impl_accessibility_streamable_get_content_types):
45         Init typelist->_maximum.  Only allocate the buffer if
46         there is a non-zero number of content types available.
47         (BONOBO_TYPE_FUNC_FULL(SpiStreamable): Move to end.
48
49         * libspi/streamablecontent.h:
50         (SPI_STREAMABLE_TYPE): Fix this macro, it was totally broken.
51
52         * libspi/value.h: 
53         (SPI_IS_VALUE): Fix a typo in this macro too.
54         
55 2006-06-16  Bill Haneman <bill.haneman@sun.com>
56
57         RFE #326532:
58         
59         * idl/Accessibility_StreambleContent.idl:
60         Deprecate the Bonobo_Stream-based methods in favor of
61         a self-contained "ContentStream" interface.  This should 
62         allow us to remove BonoboStream dependencies entirely, since
63         there were no non-NIL implementations of the old methods anyway.
64         (ContentStream): New interface.
65         (ContentStream::SeekType): Enum.
66         (ContentStream::seek): New.
67         (ContentStream::read): New.
68         (ContentStream::close): New.
69         (getContent): Deprecate.
70         (getURI): New method, returns a URI pointing to the content, if available.
71         
72         * libspi/streamablecontent.c:
73         (SpiContentStream): Internal object type definition used to
74         implement Accessibility::StreamableContent::ContentStream via
75         AtkStreamableContent's GIOChannel back-end.
76         (spi_content_stream_new, spi_content_stream_dispose): See above;
77         static methods.
78         (impl_content_stream_seek, impl_content_stream_read):
79         (impl_content_stream_close): New, implementations of
80         ContentStream's IDL.
81         (impl_accessibility_streamable_get_stream): Implement the 
82         public method Accessibility::StreamableContent::getStream.
83         (impl_accessibility_streamable_get_uri): Implement the 
84         public method Accessibility::StreamableContent::getURI.
85
86         * cspi/spi_streamablecontent.c:
87         (accessible_bonobo_stream_client_seek): Replaced by
88         (accessible_content_stream_client_seek).
89         (accessible_bonobo_stream_client_read): Replaced by
90         (accessible_content_stream_client_read).
91         (AccessibleStreamableContent_open):
92         (AccessibleStreamableContent_seek):
93         (AccessibleStreamableContent_read):
94         (AccessibleStreamableContent_close): Use the new 'getStream'
95         API instead of the deprecated 'getContent' API, inside the cspi wrappers.
96         
97 2006-06-15  Bill Haneman <bill.haneman@sun.com>
98
99         * idl/Accessibility.idl: #include Bonobo_Unknown.idl,
100         remove from other .idl files (except LoginHelper).
101         See bug #313122.
102
103 2006-06-14  Bill Haneman <bill.haneman@sun.com>
104
105         * */Makefile.am: Add WARN_CFLAGS to INCLUDES.
106         Bug #308239.
107
108         * configure.in, */Makefile.am: mingw patch, modified from
109         original patch by yselkowitz.  Bug #314216.
110
111         * cspi/spi-impl.h: Added #defines SPI_TRUE and SPI_FALSE
112         for completeness.  Bug #163111.
113
114         * atk-bridge/bridge.c, cspi/bonobo/cspi-bonobo.c:
115         * libspi/util.c,  registryd/registry-main.c:
116         Fix guint/char* casts.
117         Patch from chpe, bug #333883.
118         
119 2006-06-12  Bill Haneman <bill.haneman@sun.com>
120
121         * configure.in: Require atk-1.12.0, to pick up
122         new API. (bug #344412).
123
124         * libspi-1.0-uninstalled.pc.in:
125         * libspi-1.0.pc.in:
126         * libloginhelper-1.0.pc.in: Remove gtk+ dependency.
127         Fix for #341488 from Samual Thibault.
128
129         * configure.in, LINGUAS: Use LINGUAS, bug #338023.
130         Thanks to Brian Pepple.
131         
132 2006-06-09  Bill Haneman <bill.haneman@sun.com>
133
134         * libspi/table.c:
135         (impl_get_nSelectedRows, impl_get_nSelectedColumns):
136         New, missing implementations of attribute reading methods
137         in epv.  Bug #339021.
138
139         * cspi/spi.h, spi_value.c:
140         (AccessibleValue_getMinimumIncrement): New methods wrapping 
141         the (formerly unimplemented) property from Value.idl.
142         
143         * libspi/value.c:
144         (impl_get_minimumIncrement): Implementation for retrieving
145         the minimum valuator increment, (formerly unimplemented).
146         Bug #344265.
147         
148 2006-06-09  Bill Haneman <bill.haneman@sun.com>
149
150         * idl/Accessibility_State.idl:
151         Added STATE_VISITED (bug #338369).
152         
153         * cspi/spi_accessible.c: 
154         (spi_state_to_corba) Fixed marshalling of new statetypes.
155         
156         * libspi/stateset.c:
157         (spi_init_state_tables, impl_getStates): 
158         Fixed conversion of new statetypes to/from ATK.
159
160         * idl/Accessibility_Role.idl: Added ROLE_FORM (bug #344266).
161
162         * cspi/spi-roletypes.h, spi_accessible.c: Added marshalling 
163         definitions/conversions for new roles from ATK.
164
165         * idl/Accessibility_Relation.idl:
166         * libspi/relation.c:
167         * cspi/spi.h, spi_accessible.c: Added SPI_RELATION_DESCRIBED_BY and 
168         SPI_RELATION_DESCRIPTION_FOR.  (bug #344264) Also
169         SPI_PARENT_WINDOW_OF, which was in ATK but not AT-SPI.
170
171         * libspi/accessible.c: Fixed marshalling of new role types from
172         ATK.
173         
174 2006-04-17  Matthias Clasen  <mclasen@redhat.com>
175
176         * revert my previous change
177
178 2006-04-17  Kjartan Maraas  <kmaraas@gnome.org>
179
180         * configure.in: Remove obssolete no_NO locale
181         * po/no.po: And the translation.
182
183 2006-04-05  Matthias Clasen  <mclasen@redhat.com>
184
185         * atk-bridge/bridge.c (spi_atk_emit_eventv): Fix a 
186         memory-management error that caused crashes on x86_64.
187         (#337239)
188
189 2006-03-30  Guntupalli Karunakar  <karunakar@indlinux.org>
190
191         * configure.in: Added 'dz' (Dzongkha) to ALL_LINGUAS.
192
193 2006-03-27  Bill Haneman <bill.haneman@sun.com>
194
195         * configure.in: Define $LIBTOOL_EXPORT_OPTIONS
196         to strip "cspi_*" from the symbol table.
197         
198         * cspi/spi_streamablecontent.c:
199         (get_streams): Make this method static.
200
201         * cspi/spi_main.c:
202         (_cspi_exception_throw): rename to cspi_exception_throw,
203         so we can strip it with the rest...
204
205         * cspi/Makefile.am:
206         Add LIBTOOL_EXPORT_OPTIONS to libcspi_la_LDFLAGS.
207         
208 2006-03-27  Bill Haneman <bill.haneman@sun.com>
209
210         Add doxygen-generated IDL docs to tarball, and enable 
211         doxygen during build/install when available.  Bug #301345.
212         
213         * configure.in: Add docs/reference/idl/Makefile to AC_OUTPUT.
214
215         * docs/reference/Makefile.am: Add idl to SUBDIRS.
216
217         * docs/reference/idl/Makefile.am: Optionally use
218         doxygen to create docs.
219         
220 2006-03-20  Vladimer Sichinava  <vlsichinava@gmail.com>
221
222         * configure.in: Added "ka" (Georgian) to ALL_LINGUAS
223
224 2006-03-20  Bill Haneman <bill.haneman@sun.com>
225
226         * libspi/table.c:
227         (impl_get_selected_rows): Don't free the selection if it's
228         empty or has not been assigned; init it to NULL so you can tell.
229         Also, allow for zero selected rows.
230         (impl_getSelectedColumns): Ditto.  Bug #319088.
231
232 2006-03-11  Vincent Untz  <vuntz@gnome.org>
233
234         Leak fix for bug #334217.
235
236         * libspi/application.c: spi_application_toolkit_event_listener():
237         don't duplicate the string we pass as an argument to
238         spi_init_any_nil() since spi_init_any_nil() already does it
239         * registryd/deviceeventcontroller.c:
240         (spi_dec_button_update_and_emit): ditto
241         (spi_dec_mouse_check): ditto
242         (spi_dec_emit_modifier_event): ditto
243         (spi_device_event_controller_forward_mouse): ditto
244         * registryd/registry.c:
245         (desktop_add_application): ditto
246         (desktop_remove_application): ditto
247
248 2006-02-20  Bill Haneman <billh@gnome.org>
249
250         * configure.in: Rev to 1.7.6.
251
252         Leak fixes for bug #331924.
253         
254         * atk-bridge/bridge.c:
255         (spi_atk_bridge_init_base): Don't dup the string, it's already
256         been dup-ed.  Fixes a leak.
257         (spi_atk_emit_eventv): Move the CORBA_free call here, 
258         instead of spi_atk_state_event_listener; fixes another leak.
259         (spi_atk_bridge_key_listener):Free the dup'ed key strings after
260         notifying the registry; fixes another leak.
261
262         * registryd/registry.c:
263         (registry_flush_event_queue): Free the CORBA_any when 
264         flushing the event, not just the string.  Fixes another leak.
265         (registry_queue_event): Free the CORBA_any when dropping
266         events on the floor; fixes another leak.
267
268         * libspi/util.c:
269         (spi_init_any_object, spi_init_any_nil): 
270         Always set _release to TRUE.  Fixes another leak.
271
272 2006-02-20  Bill Haneman <billh@gnome.org>
273
274         * configure.in: Rev to 1.7.5.
275         Reinstate localization of this module.  Thanks for Rodney
276         Dawes for fixing my patch.
277
278         * registryd/Makefile.am: Remove Accessibility_Registry.server 
279         from dist, since it needs to be re-created at configure time.
280         Fixes bug #3331484.
281         
282 2006-01-31  Bill Haneman <billh@gnome.org>
283
284         * configure.in: Rev to 1.7.4 (to include build fix below).
285         
286         * idl/Makefile.am: Include Selector.idl in dist.
287         Fixes bug #328859.
288
289         * cspi/spi_event.c:
290         (cspi_internal_event_get_object): Handle case where
291         "object" isn't present, i.e. CORBA_TC_Object doesn't match
292         the EventDetails data.
293         (cspi_internal_event_get_text): Handle NULL string.
294         (cspi_internal_event_get_rect): Handle missing/empty rect
295         data, Accessibility_TC_RectBounds doesn't match any_data.
296
297 2006-01-30  Bill Haneman <billh@gnome.org>
298
299         * Released 1.7.3.
300
301         * atk-bridge/bridge.c:
302         (spi_atk_emit_eventv): Check for SPI_REMOTE_OBJECT 
303         interface and use that when instantiating a new source
304         accessible.  Better fix for bug #321814.
305         
306 2006-01-27  Bill Haneman <billh@gnome.org>
307
308         * idl/Accessibility_Selector.idl: Added to the cvs repository.
309
310         * configure.in: Revved to 1.7.3.
311         
312 2006-01-17  Bill Haneman <billh@gnome.org>
313
314         * configure.in: Revved to 1.7.2, re-dist to include docs.
315
316 2006-01-09  Bill Haneman <billh@gnome.org>
317
318         * configure.in: Removed po/Makefile.in inclusion, we do not need
319         it.  Revved to 1.7.0.
320
321         * idl/Accessibility.idl: Improved documentation here, and for all
322         IDL in the 'GNOME::Accessibility' namespace.
323
324         * idl/Accessibility_Accessible.idl:
325         (LOCALE_TYPE): Added enum.
326         (AttributeSet): New, for returning multiple name/value attribute pairs.
327         (RoleSet): New, sequence of Roles, to be used in upcoming
328         Collection API.
329         (getAttributes): New API, allows retrieval of name/value pair
330         annotations for all kinds of Accessible objects.  C.f. 
331         Text:getAttributes, which is only for typographic/textual/semantic tags in
332         text content.
333         (getApplication): New, retrieves the host/containing Application
334         instance for an object (without having to walk up the whole tree).
335
336         * idl/Accessibility_Component.idl:
337         (getAlpha): New method, returns the alpha blending (aka 'opacity')
338         value for an object.  An alpha of 1.0 is fully opaque, 0.0 is
339         fully transparent.
340
341         * idl/Accessibility_Event.idl:
342         (EventDetails): New struct definition, for encapsulating
343         commonly-queried information about emitted events.  The use of
344         this structure in emitted events (in the 'any' member of
345         Accessibility_Event) should greatly reduce the number of
346         client-server roundtrips necessary.
347
348         * idl/Accessibility_Image.idl:
349         (imageLocale): New, a readonly attribute indicating the POSIX 
350         LC_MESSAGES locale of the image and associated Alt/descriptive
351         text.
352
353         * idl/Accessibility_Relation.idl:
354         (RELATION_PARENT_WINDOW_OF): Include, as complement to
355         RELATION_POPUP_FOR.
356
357         * idl/Accessibility_Role.idl:
358         (ROLE_ENTRY, ROLE_CHART, ROLE_CAPTION, ROLE_DOCUMENT_FRAME)
359         (ROLE_HEADING, ROLE_PAGE, ROLE_SECTION): New roles for
360         complex document and form support.
361
362         * idl/Accessibility_State.idl:
363         (STATE_REQUIRED, STATE_TRUNCATED, STATE_ANIMATED)
364         (STATE_INVALID_ENTRY, STATE_SUPPORTS_AUTOCOMPLETION)
365         (STATE_SELECTABLE_TEXT, STATE_IS_DEFAULT): New states,
366         for support of complex documents and forms.
367
368         * idl/Accessibility_StreamableContent.idl:
369         (SeekType, IOError, NotSupported, NoPermission): New enum and exceptions, to
370         allow old bonobo-stream interfaces to be deprecated in the next
371         release.
372
373         * idl/Accessibility_Text.idl:
374         (getAttributeValue): New method, allows query-by-name of single
375         attributes.
376
377         * libspi/accessible.c:
378         Added support for new roles.  Implemented new methods
379         (impl_accessibility_accessible_get_application): New
380         (impl_accessibility_accessible_get_attributes): New
381
382         * libspi/component.c:
383         (impl_accessibility_component_get_alpha): New.
384
385         * libspi/image.c:
386         (impl_accessibility_image_get_locale): New.
387
388         * libspi/relation.c: Added support for new relation type.
389
390         * libspi/stateset.c: Added support for new state types.
391
392         * libspi/text.c: 
393         (impl_getAttributeValue): New.
394         
395         * libspi/util.c:
396         New prototypes for private methods
397         spi_init_any_nil,
398         spi_init_any_object, spi_init_any_string,
399         spi_init_any_rect.
400         
401         * libspi/spi_event.c: 
402         Use EventDetails in the event emission methods.
403
404         * cspi/spi-private.h:
405         (cspi_role_from_spi_role): Expose this adapter method, since
406         we need it in the bridge (see below).
407
408         * cspi/spi.h:
409         (AccessibleEvent_getSourceName):
410         (AccessibleEvent_getSourceRole):
411         (AccessibleEvent_getSourceApplication):
412         (AccessibleEvent_getSourceDetails):
413         New methods for interrogating/demarshalling
414         event details (i.e. source's accessible name, role, 
415         and host app).
416
417         * cspi/spi_accessible.c: Use cspi_role_from_spi_role.
418         Make use of the new EventDetails struct in events, if present.
419         (AccessibleEvent_getSourceName)
420         (AccessibleEvent_getSourceRole)
421         (AccessibleEvent_getSourceApplication)
422         (AccessibleEvent_getSourceDetails): Implement the newly exposed
423         methods from spi.h.
424         (Accessible_getAttributes): New, wraps
425         Accessibility_Accessible_getAttributes.
426         (Accessible_getHostApplication): New, wraps
427         Accessibility_Accessible_getApplication.
428
429         * cspi/spi_image.c:
430         (AccessibleImage_getImageLocale): New wrapper for
431         Accessibility_Image_get_imageLocale.
432
433         * cspi/spi_component.c:
434         (AccessibleComponent_getAlpha): New wrapper for
435         Accessibility_Component_getAlpha.
436         
437         * atk-bridge/bridge.c:
438         Use new prototyped for init_any methods.
439         (spi_atk_bridge_init_nil, spi_atk_bridge_init_object)
440         (spi_atk_bridge_init_string, spi_atk_bridge_init_rect)
441         (spi_atk_bridge_init_base): Wrappers
442         for spi_init_any_* methods, due to refactor; include extended
443         information in the Accessibility_EventDetails struct, for instance
444         accessible-name, Role, and containing Application.
445
446         * registryd/registry.c: 
447         Use new event emission (with EventDetails).
448         
449         * registryd/deviceeventcontroller.c:
450         Use new event emission (with EventDetails).
451
452 2006-01-09  Kjartan Maraas <kmaraas@gnome.org>
453
454         * configure.in: Generate po/Makefile.in
455         * cspi/spi_main.c: Add #ifdef PRINT_LEAKS around a function
456         * cspi/spi_streamablecontent.c: 
457         (accessible_bonobo_stream_client_seek),
458         (AccessibleStreamableContent_seek): Remove unused vars.
459         * libspi/application.c: Missing header.
460         * libspi/text.c: (impl_getDefaultAttributes): Unused vars
461         * login-helper/login-helper.c: (login_helper_finalize),
462         (login_helper_init): Remove unused stuff
463         * registryd/deviceeventcontroller.c: (spi_dec_replace_map_keysym),
464         (spi_dec_init_mouse_listener), (is_key_released): Remove unused vars
465         and surround some with #ifdef GRAB_BUTTON.
466         * test/event-listener-test.c: (main), (report_event),
467         (report_caret_event), (report_detail_event),
468         (report_detail1_event), (report_bounds_event), (report_text_event),
469         (report_text_selection_event),
470         (report_active_descendant_changed_event),
471         (report_children_changed_event), (report_name_changed_event),
472         (report_description_changed_event), (report_parent_changed_event),
473         (report_window_event), (report_table_summary_event),
474         (report_table_header_event), (report_table_caption_event),
475         (report_table_row_description_event),
476         (report_table_column_description_event), (timing_test_event):
477         Remove a bunch of unused variables and fix a slew of format specifiers
478         * test/key-listener-test.c: (report_all_key_event): Format specifier
479         * test/keypad-test.c: (print_key_event): Same
480         * test/login-helper-server-test.c: (main): Include gtkmain.h and remove
481         unused var.
482         * test/screen-review-test.c: (main), (print_chunk_debug),
483         (review_buffer_get_text_chunk), (debug_chunk_list),
484         (string_guess_clip), (text_chunk_get_clipped_string),
485         (text_chunk_list_to_string), (get_screen_review_line_at):
486         Remove unused variables and fix format specifiers.
487         * test/simple-at.c: (report_text_event): Format specifier fix.
488         * test/stress-test.c: (main): Remove unused var.
489
490 2005-12-29  Abel Cheung  <maddog@linuxhall.org>
491
492         * configure.in: Add zh_HK, zh_TW to ALL_LINGUAS
493         (yes I know that's useless)
494
495 2005-11-20  Theppitak Karoonboonyanan  <thep@linux.thai.net>
496
497         * configure.in: Added "th" (Thai) to ALL_LINGUAS.
498
499 2005-11-17  Michael Meeks  <michael.meeks@novell.com>
500
501         * atk-bridge/bridge.c (spi_atk_emit_eventv): 
502         urgh-fix embarassing typo.
503
504 2005-11-16  Michael Meeks  <michael.meeks@novell.com>
505
506         * atk-bridge/bridge.c (spi_atk_emit_eventv):
507         do a faster, less problematic _unref call on this local
508         object, rather than a slower (potentially cross-thread
509         complicated) CORBA call.
510
511 2005-11-02  Kjartan Maraas  <kmaraas@gnome.org>
512
513         * atk-bridge/bridge.c: (spi_atk_bridge_signal_listener):
514         * cspi/spi_streamablecontent.c: (AccessibleStreamableContent_seek):
515         * registryd/deviceeventcontroller.c:
516         (spi_controller_notify_mouselisteners),
517         (impl_generate_keyboard_event):
518         * test/screen-review-test.c: (chunk_bounds_within):
519         * test/test-simple.c: (test_desktop): Remove some unused code
520         and fix compiler warnings. Closes bug #320049.
521
522 2005-10-27 Bill Haneman <bill.haneman@sun.com>
523
524         * registryd/deviceeventcontroller.c:
525         (spi_controller_notify_keylisteners): Check
526         to make sure the event listener has requested 'preemptive'
527         status before pre-empting an event.
528         
529 2005-08-29 Bill Haneman <bill.haneman@sun.com>
530
531         * configure.in, README, NEWS: Release 1.6.5.
532         
533 2005-07-25  Matthias Clasen  <mclasen@redhat.com>
534
535         * test/window-listener-test.c: Fix a printf
536         format error.  (#169453)
537
538 2005-07-15  Bill Haneman <bill.haneman@sun.com>
539
540         * tests/test-simple.c: 
541         (key_listener_cb): Ensure that the keystring is dup'ed instead of
542         relying on the old string from the key event hanging around after
543         the event handler returns.  Fixes broken 'make check'.
544         
545 2005-06-06  Swapnil Hajare  <dreamil@gmail.com>
546
547         * Added Marathi (mr_IN) translations.
548
549 2005-05-27  Kjartan Maraas  <kmaraas@gnome.org>
550
551         * cspi/bonobo/cspi-bonobo-listener.c:
552         (cspi_event_list_remove_by_cb): Fix the build.
553
554 2005-05-26  Michael Meeks  <michael.meeks@novell.com>
555
556         * cspi/bonobo/cspi-bonobo-listener.c
557         (cspi_event_list_remove_by_cb): actually filter by callback.
558
559 2005-05-25  Bill Haneman <bill.haneman@sun.com>
560
561         * registryd/registry.c (remove_listener_cb):
562         Make deregistration filter rules match the event emission rules.
563
564 2005-05-25  Michael Meeks  <michael.meeks@novell.com>
565
566         * registryd/registry.c (remove_listener_cb),
567         (impl_accessibility_registry_deregister_global_event_listener),
568         (impl_accessibility_registry_deregister_global_event_listener_all): 
569         pass a closure to the remove callback to filter listeners more
570         accurately on remove.
571
572 2005-04-05  Bill Haneman <bill.haneman@sun.com>
573
574         * configure.in: Revved to 1.6.4.
575         Remember to put quotes around XEVIE_LIBS assignment.
576         Fixed one of tertiary AC_CHECK_HEADER tests for XEvie.
577         Fixes bug #303694.
578
579         * tests/event-listener-test.c: Tweaked the tests - more detail
580         from caret events, and some interrogation of AccessibleText APIs.
581         Commented-out the bounds-changed events by default, since they can
582         be very noisy.
583
584 2005-04-14  Kjartan Maraas  <kmaraas@gnome.org>
585
586         * atk-bridge/bridge.c: (spi_atk_emit_eventv): Plug a leak.
587         * cspi/bonobo/cspi-bonobo-listener.c: (cspi_device_event):
588         Same here. Closes bug #167806
589
590 2005-04-05  Bill Haneman <bill.haneman@sun.com>
591
592         * atk-bridge/bridge.c: 
593         (spi_atk_bridge_signal_listener):
594         Free the any._value if any._release is TRUE,
595         since the ORB won't do it for us in this case
596         [because this method is not a skel].
597         Fix for bug #168679.    
598         
599 2005-03-30  Steve Murphy  <murf@e-tools.com>
600
601         * configure.in: Added "rw" to ALL_LINGUAS.
602
603 2005-03-29  Bill Haneman <bill.haneman@sun.com>
604
605         * configure.in: Improved check for HAVE_XEVIE, to detect 
606         presence on XOrg, where -lXevie is a separate library.
607
608 2005-03-08  Bill Haneman <bill.haneman@sun.com>
609
610         * configure.in, NEWS, README: Revved to 1.6.3.
611
612 2005-02-16  Adi Attar  <aattar@cvs.gnome.org>
613
614         * configure.in: Added "xh" to ALL_LINGUAS.
615
616 2005-02-07  Bill Haneman <bill.haneman@sun.com>
617
618         * atk-bridge/bridge.c: 
619         (atk_bridge_init): Added missing NULL in g_strconcat(),
620         also check for symlink before logging to 
621         insecure directory.  Thanks to meissner@suse.de.
622
623 2005-01-25  Padraig O'Briain <padraig.obriain@sun.com>
624
625         * tests/login-helper-server-test.c: Add return call to main
626         function. Patch from Chris Lahey. Fixes bug #165129.
627
628 2004-12-20  Padraig O'Briain <padraig.obriain@sun.com>
629
630         * cspi/spi.h: Add description for SPI_RELATION_SUBWINDOW_OF.
631
632 2004-12-09  Bill Haneman <billh@gnome.org>
633
634         * registryd/registry-main.c:
635         Added #define <string.h> for strrchr. (bug 160862).
636         Thanks to Vincent Berger for catching.
637         
638 2004-12-09  Padraig O'Briain <padraig.obriain@sun.com>
639
640         * atk-bridge/bridge.c (spi_atk_get_registry): Do not attempt to
641         restart registry process if the registry process is found to have died
642         and the current process is exiting.
643         (spi_atk_bridge_exit_func): Do not attempt to deregister the
644         application if the registry process has died.
645         (spi_atk_emit_eventv): Return if call to spi_atk_get_registry
646         does not return a registry object.
647         (spi_atk_tidy_windows): Give up if the registry process has died.
648
649         This fixes problems with hangs and crashes when logging out.
650
651 2004-12-03  Padraig O'Briain <padraig.obriain@sun.com>
652
653         * registryd/desktop.c: Add checking that we are not exiting before
654         calling spi_desktop_remove_application in 
655         abnormal_application_termination. Fix for bug #152147.
656
657 2004-12-02  Bill Haneman <billh@gnome.org>
658
659         * configure.in, NEWS, README: Revved to 1.6.1.
660         
661         Patch from Padraig O'Briain <padraig.obriain@sun.com>
662         * atk-bridge/bridge.c:
663         (atk_bridge_init): Save the pid when we start, to detect forks.
664         (spi_atk_bridge_exit_func): Don't call the cleanup routines
665         if we're in a forked pid.
666         
667 2004-10-09  Bill Haneman <billh@gnome.org>
668
669         * idl/Accessibility_LoginHelper.idl:
670         Improved inline documentation.
671
672 2004-10-02  Jesus Bravo Alvarez  <suso@trasno.net>
673
674         * configure.in: Added gl (Galician) to ALL_LINGUAS
675
676 2004-09-30  Kjartan Maraas  <kmaraas@gnome.org>
677
678         * libspi/accessible.c:
679         (impl_accessibility_accessible_get_role_name),
680         (impl_accessibility_accessible_get_local_role_name):
681         NULL vs. 0 cleanups.
682         * libspi/component.c:
683         (impl_accessibility_component_get_accessible_at_point):
684         Same here.
685         * libspi/eventlistener.c: (spi_event_listener_new):
686         ANSIfication.
687         * libspi/stateset.c: (impl_compare): More of the same
688         * libspi/table.c: (impl_getRowDescription): Again.
689         * registryd/desktop.c: (spi_atk_desktop_get_type): Same
690         * registryd/deviceeventcontroller.c: (spi_clear_error_state),
691         (impl_generate_keyboard_event): Same.
692         * registryd/registry-main.c: (main): Same
693         * test/event-listener-test.c: (test_exit): Same
694         * test/keysynth-demo.c: (scan_state), (create_vkbd): Same
695         * test/keysynth-test.c: (test_key_synthesis): Same
696         * test/login-helper-server-test.c: (main): Fix warning.
697         * test/screen-review-test.c: (test_exit): Fix include.
698         * test/simple-at.c: (simple_at_exit), (_festival_init):
699         ANSIfication.
700
701 2004-09-13  Padraig O'Briain <padraig.vriain@sun.com>
702
703         * configure.in, NEWS, README: Revved to 1.6.0.
704
705 2004-09-12  Bill Haneman <bill.haneman@sun.com>
706
707         * configure.in: Rev and re-dist, since the 1.5.4 tarball
708         was missing the HTML docs.
709
710 2004-09-12  Tomasz KÅ‚oczko <kloczek@pld.org.pl>
711
712         * configure.in: only cleanups:
713         - better looking PKG_CHECK_MODULES() output,
714         - justification,
715         - declare in one common place required versions of other tools using
716           m4_define().
717
718 2004-09-11  J.H.M. Dassen (Ray) <jdassen@debian.org>
719
720         * configure.in: libspi/accessible.c uses ATK_ROLE_EMBEDDED
721         (unconditionally) which was introduced in ATK 1.7.2. Bumped the
722         required ATK version accordingly.
723
724 2004-09-03 Bill Haneman    <bill.haneman@sun.com>
725
726         * cspi/bonobo/cspi-bonobo.c:
727         (cspi_display_name): Fix C99ism.
728         * atk-bridge/bridge.c:
729         (spi_display_name): Fix C99ism.
730         Patch from Jens Granseuer, jensgr@gmx.net.
731         
732 2004-09-03  Gora Mohanty  <gmohanty@cvs.gnome.org>
733  
734         * configure.in: Added "or" to ALL_LINGUAS.
735
736 2004-08-20  Bill Haneman    <bill.haneman@sun.com>
737
738         * configure.in, NEWS, README: Revved to 1.5.4.
739         
740         * registryd/registry-main.c:
741         (main): Set the reg_env to use AT_SPI_DISPLAY instead of
742         $DISPLAY.  
743         
744         * cspi/bonobo/cspi-bonobo.c:
745         (cspi_display_name): New convenience method, gets DISPLAY with
746         screen number stripped, if AT_SPI_DISPLAY isn't already set.
747         (cspi_init): Set the activation env value above before getting
748         the registry.
749         
750         * atk-bridge/bridge.c:
751         (spi_display_name): Create the AT_SPI_DISPLAY activation
752         environment for an app, based on the DISPLAY environment with the
753         screen number stripped off.
754         (atk_bridge_init):  Allow redirection of error messages to a log.
755         (spi_atk_bridge_get_registry): Call
756         bonobo_activation_set_activation_env_value for AT_SPI_DISPLAY.
757
758         Fixes for bugs #149962, #136986, #144086.
759         
760 2004-08-16  Christian Rose  <menthos@menthos.com>
761
762         * configure.in: Added "bs" to ALL_LINGUAS.
763
764 2004-08-12  Kjartan Maraas  <kmaraas@gnome.org>
765
766         * configure.in: Added nb to ALL_LINGUAS.
767
768 2004-09-03 Bill Haneman <bill.haneman@sun.com>
769
770         * cspi/spi_main.c:
771         (SPI_init): Return error code '2' if the activated
772         registry cannot be pinged. Fixes bug #147648.
773         
774 2004-07-28 Bill Haneman <bill.haneman@sun.com>
775
776         * registryd/deviceeventcontroller.c:
777         (spi_dec_init_mouse_listener): Don't do XGrabButton, 
778         rely on timer-poll instead, to avoid conflict with 
779         xstroke.
780         
781 2004-07-20  Bill Haneman <bill.haneman@sun.com>
782
783         * configure.in: Revved to 1.5.3.
784
785         * idl/Accessibility_Role.idl: Added ROLE_EMBEDDED (bug #144415).
786
787         * libspi/accessible.c: Added support for ROLE_EMBEDDED.
788
789         * cspi/spi_accessible.c: Support for ROLE_EMBEDDED.
790
791         * cspi/spi-roletypes.h: Added SPI_ROLE_EMBEDDED.
792         
793 2004-06-11  Bill Haneman <bill.haneman@sun.com>
794
795         * atk-bridge/bridge.c:
796         (spi_atk_bridge_do_registration): 
797         Register with ATK for AtkComponent:bounds-changed events.
798         (api_atk_bridge_signal_listener): 
799         Marshal the AtkRectangle info into the event notification
800         for object:bounds-changed events.
801         
802         * libspi/util.c:
803         (spi_init_any_rect): New method, inits a corba struct of
804         type Accessibility_BoundingBox from an AtkRectangle.
805
806         * libspi/spi-private.h: Declared spi_init_any_rect (above).
807         
808         * cspi/spi.h:
809         (SPIRect): New struct definition.
810         (SPI_freeRect): New declaration.
811         (AccessibleBoundsChangedEvent_getNewBounds): New, see below.
812
813         * cspi/spi_event.c:
814         (AccessibleBoundsChangedEvent_getNewBounds): New method,
815         implemented.  Gets the bounding box data from the CORBA_any
816         associated with a bounds-changed event notification.
817         (cspi_internal_event_get_rect): New, used internally by above method.
818         
819         * cspi/spi_main.c:
820         (SPI_freeRect): Implemented this new method, for freeing
821         SPIRect structs.
822         
823         * test/event-listener-test.c:
824         (main, report_bounds_event):
825         Added a test for object:bounds-changed events.
826         
827 2004-06-01  Bill Haneman <bill.haneman@sun.com>
828
829         * test/login-helper-server-test.c:
830         (main): Fix C99-ism.  Thanks to Jens Granseuer.
831         
832 2004-05-28  Padraig O'Briain <padraig.obriain@sun.com>
833
834         * libloginhelper-1.0.pc.in:
835         * idl/Accessibility_LoginHelper.idl: 
836         * login-helper/Makefile.am:
837         * login-helper/login-helper.[ch]:
838         * test/login-helper-client-test.c:
839         * test/login-helper-server-test.c: Added files missing from CVS.
840         Files obtained from at-spi-1.5.2 tarball.
841
842 2004-05-27  Bill Haneman <bill.haneman@sun.com>
843
844         * configure.in: Create login-helper/Makefile.  
845         Incremented micro version.
846
847         * Makefile.am:  Add login-helper subdir and pkgconfig data.
848         
849         * login-helper: New subdir.
850
851         * libloginhelper-1.0.pc.in: New.
852
853         * idl/Accessibility_LoginHelper.idl: New file, defines
854         interface whereby authentication clients can identify agents which
855         need access to services during the login process, e.g. screen lock
856         dialogs, etc.
857
858         * login-helper/Makefile.am : New.
859
860         * login-helper/login-helper.[ch] : New, implementation of
861         a LoginHelper base class.  Services needing LoginHelper can subclass.
862
863         * test/Makefile.am : Added test for login-helper, client and
864         server.
865
866         * test/app.c, at.c, keypad-test.c, keysynth-test.c, stress-test.c:
867         Use proper prefix in #include files.
868
869         * test/login-helper-client-test.c: New.
870         
871         * test/login-helper-server-test.c: New.
872
873 2004-05-27  Alexander Shopov <ash@contact.bg>
874
875         * configure.in (ALL_LINGUAS): Added "bg" (Bulgarian)
876
877 2004-05-14  Padraig O'Briain <padraig.obriain@sun.com>
878
879         * cspi/spi_main.c (cspi_object_unref): Add check that reference count
880         is positive. This should make it easier to detect inapprorpiate unref
881         calls.
882
883 2004-05-11  James Henstridge  <james@daa.com.au>
884
885         * configure.in: remove GNOME_PLATFORM_GNOME_2 macro, which is a
886         no-op and deprecated.
887
888 2004-05-03  Pablo Saratxaga  <pablo@mandrakesoft.com>
889
890         * configure.in: Added "wa" (Walloon) to ALL_LINGUAS.
891
892 2004-04-28 Bill Haneman <billh@gnome.org>
893
894         * Makefile.am: Added --enable-gtk-doc to
895         DISTCHECK_CONFIGURE_FLAGS; fixes make distcheck.
896         
897 2004-04-19 Bill Haneman <billh@gnome.org>
898
899         * configure.in: Revved to 1.5.1.
900
901         * registryd/deviceeventcontroller.c:
902         #define XK_LATIN1.
903         (DEControllerPrivateData): Added fields for 
904         reserved_keycode, reserved_keysym, and reserved_reset_timeout.
905         (spi_dec_replace_map_keysym): New internal utility for
906         replacing a keysym in the keymap - used to allow
907         synthesis of individual characters which aren't in the
908         current X keymap.
909         (spi_dec_reset_reserved): New; resets the changed keysym value 
910         in the map.
911         (keycode_for_keysym): We now try to deal with failed
912         XKeysymToKeycode requests by changing a keymap value
913         and returning a reserved keycode.  We now take 
914         a DEController pointer as first arg.
915         (spi_controller_register_with_devices): Call XkbGetMap with 
916         the XkbKeySymsMask.  Find the highest keycode in the current
917         keymap which doesn't have any grabs, and mark that one for
918         temporary re-mapping when out-of-range KeySyms are synthesized.
919         (dec_synth_keycode_press): Call XFlush after synthesizing the key
920         event.
921         
922 2004-04-08  Guntupalli Karunakar  <karunakar@freedomink.org>
923
924         * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS.
925
926 2004-03-24  Alexander Winston  <alexander.winston@comcast.net>
927
928         * configure.in: Added "en_CA" (Canadian English) to ALL_LINGUAS.
929
930 2004-03-24  Bill Haneman <billh@gnome.org>
931
932         * cspi/spi.h:
933         (AccessibleTable_addRowSelection),
934         (AccessibleTable_addColumnSelection),
935         (AccessibleTable_removeRowSelection),
936         (AccessibleTable_removeColumnSelection):
937         Add declarations for spi wrappers which were
938         inadvertantly omitted.  Fixes bug #133413.
939
940         * configure.in:
941         Revved to 1.5.0 (unstable series for GNOME 2.7).
942         
943 2004-03-24  Bill Haneman <billh@gnome.org>
944
945         * atk-bridge/bridge.c:
946         Bracketed some debug output in 
947         conditionals, to avoid printing it in normal use.
948         Fixes bug #136660.
949
950         * libspi/hyperlink.c:
951         Don't cast 'object' to ATK_OBJECT when constructing
952         an AtkAction interface for a hyperlink.
953         See discussion in bug #120659.
954
955         * test/key-listener-test.c:
956         (report_all_key_event): Send output to stderr,
957         not stdout, for consistency with the rest of the test callbacks.
958
959         * configure.in:
960         Add -lXext to XINPUT_LIBS. Fix for bug #132237.
961         Don't add X_LIBS to CFLAGS (Fix for bug #134332).
962         Incremented to 1.4.1 (but didn't dist yet - I'm going to 
963         try incrementing the revision AFTER doing a dist, at least
964         for awhile).
965         
966 2004-03-22  Bill Haneman <billh@gnome.org>
967
968         * configure.in: Revved to 1.4.0, libtool 9.14.9
969
970 2004-03-17  Laszlo Peter  <laca@sun.com>
971
972         * libspi-1.0-uninstalled.pc.in: add idldir
973
974         * cspi-1.0-uninstalled.pc.in: add idldir
975
976 2004-03-16  Gareth Owen <gowen72@yahoo.com>
977
978         * configure.in: Added "en_GB" to ALL_LINGUAS
979
980 2004-03-15  Bill Haneman <billh@gnome.org>
981
982         * configure.in: Revved to 1.3.16, 
983         libtool 9.13.9.
984         
985 2004-03-15  Laszlo Peter  <laca@sun.com>
986
987         * libspi-1.0-uninstalled.pc.in: new file
988
989         * cspi-1.0-uninstalled.pc.in: new file
990
991         * configure.in: add the new pc files to AC_OUTPUT
992
993         * Makefile.am: add the new pc files to EXTRA_DIST
994
995 2004-03-12  Bill Haneman <billh@gnome.org>
996
997         * atk-bridge/bridge.c:
998         (spi_atk_bridge_key_listener):
999         Make sure to return consumed=FALSE if snoop 
1000         event is not dispatched to listener.
1001         Fixes #134037.
1002         
1003 2004-03-01  Bill Haneman <billh@gnome.org>
1004
1005         * configure.in: Revved to 1.3.15, 
1006         libtool 9.12.9.
1007         
1008 2004-03-07  Danilo Segan  <dsegan@gmx.net>
1009
1010         * configure.in: Added "sr@ije" to ALL_LINGUAS.
1011
1012 2004-03-03  Guntupalli Karunakar  <karunakar@freedomink.org>
1013
1014         * configure.in: Added "pa" for Punjabi in ALL_LINGUAS.
1015
1016 2004-03-01  Bill Haneman <billh@gnome.org>
1017
1018         * configure.in: Revved to 1.3.14.
1019         
1020         * cspi/spi_main.c:
1021         (SPI_exit): Removed "bye-bye" exit message.
1022         Moved "leak" report to happen before the
1023         iteration over the leaked refs list.
1024         Don't PRINT_LEAKS unless DEBUG_OBJECTS is also #defined.
1025         
1026 2004-02-24  Bill Haneman <billh@gnome.org>
1027
1028         * configure.in: Revved to 1.3.13.
1029
1030         * docs/reference/cspi/Makefile.am:
1031         Correct typo that was breaking the docs build.
1032
1033 2004-02-11  Padraig O'Briain <padraig.obriain@sun.com>
1034
1035         * autogen.sh: Require version 1.7 of automake.
1036         
1037         * configure.in: call GTK_DOC_CHECK([1.0])
1038
1039         * atk-bridge/Makefile.am: Remove use of LDFLAGS and CFLAGS
1040
1041         * docs/reference/cspi/Makefile.am: Update to use new gtk-doc.
1042
1043         * libspi/Makefile.am: Remove use of LDFLAGS and CFLAGS.
1044
1045         * test/Makefile.am:  Remove use of CFLAGS.
1046
1047         This fixes bug #132987.
1048
1049 2004-02-11  Bill Haneman <billh@gnome.org>
1050
1051         * reverted most of Tomasz' patch below, since it was breaking
1052         builds (see bug #134058).
1053         
1054 2004-02-10  Tomasz KÅ‚oczko <kloczek@pld.org.pl>
1055
1056         * docs/reference/cspi/at-spi-cspi.types: added empty file for
1057           correct pass "make dist" (empty .. because seems no sach types in
1058           header files with gtk-doc markups).
1059         * docs/reference/cspi/Makefile.am, configure.in:
1060           Added better gtk-doc support using GTK_DOC_CHECK aclocal macro
1061           from gtk-doc >= 1.0 (modyfications based on scheme from atk).
1062         * Makefile.am: added:
1063           DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
1064           for force correct pass generate documentation on "make distcheck".
1065         * libspi/Makefile.am: fixes for automake >= 1.6.
1066         * configure.in: Trivial cleanup: remove AC_SUBST(CFLAGS),
1067           AC_SUBST(CPPFLAGS) and AC_SUBST(LDFLAGS). This variables are
1068           substed by default.
1069
1070 Sun Feb  8 11:20:50 2004  Matthias Clasen  <maclas@gmx.de>
1071
1072         * docs/reference/cspi/Makefile.am (install-data-local): Install
1073         index.sgml since the doc autobuilder on widget.gnome.org looks for
1074         that file.
1075
1076 2004-02-02  Padraig O'Briain  <padraig.obriain@sun.com>
1077
1078         * atk-bridge/bridge.c (spi_atk_tidy_windows): Correct g_free call to
1079         g_object_unref.
1080
1081 2004-02-01  Robert Sedak  <robert.sedak@sk.htnet.hr>
1082
1083         * configure.in: Added "hr" (Croatian) to ALL_LINGUAS.
1084
1085 2004-01-27  Brian Cameron <brian.cameron@sun.com>
1086
1087         * test/simple-at.c: Fixed null string problems that cause core
1088           dumping problems on Solaris.
1089
1090 2004-01-12  Bill Haneman <billh@gnome.org>
1091         
1092         * configure.in: Incremented version to 1.3.11.
1093
1094 2004-01-05  Padraig O'Briain  <padraig.obriain@sun.com>
1095
1096         * docs/reference/cspi/at-spi-cspi-docs.sgml: Added XML in
1097         DOCTYPE statement. Fixes bug #129728. Patch supplied by Sebastien
1098         Bacher.
1099
1100 2004-01-01  Roozbeh Pournader  <roozbeh@sharif.edu>
1101
1102         * configure.in: Added "fa" to ALL_LINGUAS.
1103
1104 2003-12-20  Arafat Medini <lumina@silverpen.de>
1105
1106         * configure.in: Added "ar" to ALL_LINGUAS
1107
1108 2003-12-16      Bill Haneman <billh@gnome.org>
1109
1110         * registryd/registry-main.c:
1111         (main):
1112         Set the reg_env DISPLAY variable before registering the
1113         activated registry service.  Fixes bug #129479.
1114
1115 2003-12-16      Mohammad DAMT  <mdamt@bisnisweb.com>
1116
1117         * configure.in: Added "id" in ALL_LINGUAS
1118         * po/id.po: Indonesian translation by Ahmad Riza H Nst <ari@160c.afraid.org>
1119
1120 2003-12-15  Padraig O'Briain <padraig.obriain@sun.com>
1121
1122         * registryd/deviceeventcontroller.c (global_filter_fn):
1123         When an event is consumed discard any XEvents were added to
1124         the queue while dealing with the the event. This can happen if
1125         processing of the event takes a long time. Call XUngrabKeyboard
1126         if an event was discarded. This fixes bug $124837.
1127         Only call wait_for_release_event for a KeyPress.
1128         Use local variable display instead of spi_get_display().
1129         (spi_controller_update_key_grabs): Move call to keycode_for_keysym
1130         outside for loop.
1131
1132 2003-12-11  Padraig O'Briain <padraig.obriain@sun.com>
1133
1134         * registryd/deviceeventcontroller.c (spi_dec_translate_mask):
1135         Allow for mask to contain values other than NumLock mask.
1136         Fixes bug #129103.
1137
1138 2003-12-10  Padraig O'Briain <padraig.obriain@sun.com>
1139
1140         * registryd/devieceventcontroller.c:
1141         (wait_for_release_event): Change first parameter from GdkEvent to 
1142         XEvent.
1143         (global_filter_fn); Correct call to wait_for_release_event.
1144
1145         Fixes bug #128912.
1146
1147 2003-12-08  Bill Haneman <billh@gnome.org>
1148
1149         Version 1.3.10.
1150
1151         * registryd/ucs2keysym.c: New file.
1152
1153         * registryd/deviceeventcontroller.c:
1154         (dec_keysym_for_unichar): Remove old partial implementation and
1155         replace with call to ucs2keysym(), which is much more complete.
1156         Thanks to Marcus G. Kuhn who put the original keysym2ucs.c into
1157         the public domain.
1158
1159         Fixes bug #128824.
1160
1161 2003-12-05  Bill Haneman <billh@gnome.org>
1162
1163         * configure.in: Version 1.3.9.
1164
1165         * docs/reference/cspi/tmpl/spi_registry.sgml:
1166         Added reference to libspi/keymasks.h to the
1167         description of Registry queries: AccessibleKeyMaskType.
1168         Fixes bug #118103.
1169
1170 2003-12-04  Bill Haneman <billh@gnome.org>
1171
1172         Fix for bug #121974.
1173         
1174         * idl/Accessibility_Application.idl:
1175         (Accessibility::LOCALE_TYPE): New enum, corresponds to
1176         setlocale's LC_TYPEs.
1177         (Accessibility::Application::getLocale): New method.
1178         Allows clients to query the locale, by type, of an app.
1179         
1180         * cspi/spi.h:
1181         * cspi/spi_application.c:
1182         (AccessibleApplication_getLocale): New method, wraps IDL above.
1183
1184         * libspi/application.c:
1185         (spi_application_class_init): Init epv entry for getLocale.
1186         (impl_accessibility_application_get_locale): Impl for above.
1187
1188         * test/test-simple.c:
1189         (test_application): Added assertion for getLocale, i.e.
1190         that the string from AccessibleApplication_getLocale (app, type) 
1191         is the same as that from setlocale (type, NULL);
1192
1193 2003-12-03  Padraig O'Briain <padraig.obriain@sun.com>
1194
1195         *registryd/deviceeventcontroller.c: Add an idle handler which polls
1196         the keyboard on a timeout intil the key state goes from pressed to
1197         released. Fixes bug #111429.
1198
1199 2003-12-03  Padraig O'Briain <padraig.obriain@sun.com>
1200
1201         * atk-bridge/bridge.c: (atk_bridge_init): Create accessible application 
1202         root object so that it is present when a context menu in an 
1203         out-of-process applet is popped up.
1204         (spi_atk_bridge_do_registration): Create acceessible application root
1205         object only if it does not exist.
1206
1207         This fixes bug #125834.
1208
1209 2003-12-01  Bill Haneman <billh@gnome.org>
1210
1211         Fix for bug #114926.  Thanks to Michael Meeks for some of this patch.
1212
1213         * cspi/spi.h:
1214         Added enum for AccessibleStreamableContentSeekType.
1215         (AccessibleStreamableContent_freeContentTypeList): New.
1216         
1217         * cspi/spi_streamablecontent.c:
1218         (accessible_bonobo_stream_client_seek): New private method.
1219         (AccessibleStreamableContent_seek): Implemented this method,
1220         using Bonobo_Stream_seek.
1221         (AccessibleStreamableContent_freeContentTypeList): New method
1222         for freeing the return value from 
1223         AccessibleStreamableContent_getContentTypes.
1224         (stream_cache_item_free): Replaces stream_release; stop leaks.
1225         (stream_release): removed.
1226         (AccessibleStreamableContent_read): Use properly init'd CORBA_evs, 
1227         free the memory properly.
1228
1229 2003-12-02  Padraig O'Briain <padraig.obriain@sun.com>
1230
1231         Fix for bug #116009.
1232
1233         * cspi/spi-roletypes.h: Add SPI_ROLE_EDITBAR.
1234
1235         * cspi/spi_accessible.c (cspi_init_role_table): Add SPI_ROLE_EDITBAR.
1236
1237         * docs/reference/cspi/tmpl/spi-accessible.sgml: Add SPI_ROLE_EDITBAR
1238
1239         * idl/Accessibility_Role.idl: Add ROLE_EDITBAR.
1240
1241 2003-12-01  Bill Haneman <billh@gnome.org>
1242
1243         Fix for bug/rfe #127463.
1244         
1245         * idl/Accessibility_Accessible.idl:
1246         (getLocalizedRoleName): New.
1247         (unimplemented4): Removed (replaced by above).
1248
1249         * libspi/accessible.c:
1250         (impl_accessibility_accessible_get_local_role_name): New.
1251         (spi_accessible_class_init): Add getLocalizedRoleName entry to
1252         epv.
1253         
1254         * cspi/spi.h:
1255         (Accessible_getLocalizedRoleName): New.
1256
1257         * cspi/spi_accessible.c:
1258         (Accessible_getLocalizedRoleName): New.
1259         
1260 2003-12-01  Bill Haneman <billh@gnome.org>
1261         
1262         Fix for bug #118581.
1263         * idl/Accessibility_Text.idl:
1264         (getDefaultAttributes): New.
1265         (unimplemented4): Removed (replaced by above method).
1266
1267         * libspi/text.c:
1268         (impl_getDefaultAttributes): New method.
1269         (spi_text_class_init):
1270         initialize the get_default_attributes slot in the epv.
1271
1272         * cspi/spi.h:
1273         (AccessibleText_getDefaultAttributes): New prototype.
1274
1275         * cspi/spi_text.c:
1276         (AccessibleText_getDefaultAttributes): New method.
1277
1278 2003-11-06  Padraig O'Briain <padraig.obriain@sun.com>
1279
1280         * cspi/spi_accessible.c (cspi_init_relation_type_table): Do not
1281         write beyond the end of the table. Fixes bug #120473.
1282
1283 2003-09-30  Christian Rose  <menthos@menthos.com>
1284
1285         * configure.in: Added "eu" to ALL_LINGUAS.
1286
1287 2003-09-28  Kjartan Maraas  <kmaraas@gnome.org>
1288
1289         * configure.in: ALL_LINGUAS: Added no.
1290
1291 2003-09-28  Gediminas Paulauskas  <menesis@delfi.lt>
1292
1293     * configure.in: Added lt to ALL_LINGUAS.
1294
1295 2003-09-25  Padraig O'Briain <padraig.obriain@sun.com>
1296
1297         * atk-bridge/bridge.c:
1298         (atk_bridge_init): Register event listeners always even for 
1299         out-of-process applet.
1300         (spi_atk_bridge_toplevel_added): Remove call to 
1301         spi_atk_bridge_event_type_consts as it is now called in atk_bridge_init
1302         (spi_atk_bridge_toplevelk_removed): Remove call to 
1303         spi_atk_deregister_event_listenersa as the listeners are now always
1304         registered
1305         (spi_atk_bridge_register_application): Remove call to
1306         spi_atk_register_event_listeners as it is not done in atk_bridge_init
1307
1308         This fixes bug #120991.
1309
1310         * libspi/table.c (impl_getColumnDescription): Correct typo,
1311         pointed out by Bolian.Yin@sun.com.
1312
1313 2003-09-21  Ãƒ\85smund Skjæveland  <aasmunds@fys.uio.no>
1314
1315         * configure.in: Added nn to ALL_LINGUAS (which is commented out).
1316
1317 2003-09-08  Bill Haneman <billh@gnome.org>
1318
1319         * configure.in: Revved to 1.3.7.
1320
1321         This is the GNOME 2.4.0 release of at-spi.
1322
1323         * docs/reference/cspi/Makefile.am:
1324         Removed spurious inclusion of 'index.sgml' in the
1325         html directory; this was breaking make distcheck and
1326         also some other build environments.
1327
1328 2003-09-05  Padraig O'Briain <padraig.obriain@sun.com>
1329
1330         * registryd/registry.[ch}:
1331         Add queue_handler_id and focus_object to SpiRegistry data structure.
1332         (registry_flush_event_queue): If event being discarded is 
1333         "state-change:focused" store object as focus_object.
1334         (registry_start_queue): Remove queue handler and focus object
1335         if present.
1336         (registry_discard_event): New function which discards a focus event
1337         if we had stored focus object in the registry.
1338         (registry_queue_event): Add new check that is_queueing is set as this
1339         function is reentrant.
1340         (registry_filer_event): Add call to registry_discard_event.
1341         
1342         This resolves issues raised in bug #108664.
1343         
1344 2003-09-05  Taneem Ahmed  <taneem@bengalinux.org>
1345
1346         * configure.in: Added "bn" to ALL_LINGUAS.
1347
1348 2003-09-04  Bill Haneman <billh@gnome.org>
1349
1350         * cspi/spi_event.c: Documentation improvements for
1351         (SPI_registerAccessibleKeylistener).
1352
1353         * docs/reference/tmpl/spi_registry.sgml:
1354         Documentation improvements for SpiAccessibleKeylistenerCB.
1355
1356 2003-09-02  Mugurel Tudor  <mugurelu@go.ro>
1357
1358         * configure.in: Added "ro" to ALL_LINGUAS.
1359
1360
1361 2003-09-01  Padraig O'Briain <padraig.obriain@sun.com>
1362
1363         * cspi/spi_main.c (cspi_object_return): Ensure that reference count is
1364         not decremented to zero. Fixes bug #120725.
1365
1366 2003-08-30  KAMAGASAKO Masatoshi  <emerald@gnome.gr.jp>
1367
1368         * configure.in: Added "ja" to ALL_LINGUAS.
1369
1370 2003-08-22  Samúel Jón Gunnarsson  <sammi@techattack.nu>
1371
1372         * configure.in: Added "is" to ALL_LINGUAS.
1373         
1374 2003-08-22  Christian Rose  <menthos@menthos.com>
1375
1376         * configure.in: Added "nl" to ALL_LINGUAS.
1377
1378 2003-08-19  Padraig O'Briain <padraig.obriain@sun.com>
1379
1380         * cspi/spi-private.h: Add declaration for _cspi_exceptoin_throw
1381         * cspi/spi_accessible.c (cspi_init_relation_type_table): Add call
1382         to return a value.
1383         * cspi/spi_event.c: (AccessibleEvent_unref); Add casts to gfree
1384         arguments.
1385         * cspi/spi_main.c (SPI_Exception_getSourceType); Return the correct
1386         type for unspecified exception.
1387         * cspi_streamablecontect): Add include of string.h for memcpy.
1388         (stream_release): Correct call to bonobo_object_release_unref
1389         (stream_cache_item_free): Correct call to bonobo_object_release_unref
1390         * cspi/bonobo/spi-bonobo.c: (cspi_check_event): Add cast to second
1391         argument of _cspi_expection_throw.
1392         * libspi/hyperlink.c: Add include of libspi/action.h:
1393         (spi_hyperlink_new): Cast argument to spi_action_interface_new.
1394         * libspi/streamablecontent.c: add include of libspi/component.h.
1395         * regisrtyd/deviceeventcontroller.c:
1396         (spi_dec_translate_mask): Removed unused variable priv.
1397         (dec_synth_keysym): Initialize lock_mods to avoid compilker warning/
1398         * registryd/registry.c:
1399         (registry_filter_event): Remove unused variable queue_is-empty.
1400         (impl_registry_notify_event): Use correct modifier in fprintf call.
1401
1402         This fixes compiler warnings reported in bug #120220.
1403         
1404 2003-08-18  Padraig O'Briain <padraig.obriain@sun.com>
1405
1406         * registryd/registryd.c: Remove this file.
1407
1408 2003-08-17  Sanlig Badral  <badral@openmn.org>
1409
1410         * configure.in: Added mn to ALL_LINGUAS.
1411
1412 2003-08-16  Tõivo Leedjärv  <toivo@linux.ee>
1413
1414         * configure.in: Added et to ALL_LINGUAS.
1415
1416 2003-08-13  Padraig O'Briain <padraig.obriain@sun.com>
1417
1418         * test/event-listener-test.c: Change active-descendant to 
1419         active-descendant-changed.
1420
1421 2003-08-10  Sami Pesonen  <sampeson@iki.fi>
1422
1423         * configure.in: Added "fi" in ALL_LINGUAS.
1424
1425 2003-08-08  Guntupalli Karunakar  <karunakar@freedomink.org>
1426
1427         * configure.in: Added "hi" in ALL_LINGUAS.
1428
1429 2003-08-08  Padraig O'Briain <padraig.obriain@sun.com>
1430
1431         * configure.in: Revved to 1.3.6.
1432
1433         * NEWS: updated.
1434         
1435 2003-08-07  Padraig O'Briain <padraig.obriain@sun.com>
1436
1437         * registryd/deviceeventcontroller.c
1438         (spi_device_event_controller_object_finalize): Fix typo in previous 
1439         commit.
1440
1441 2003-08-07  Marc Mulcahy  <marc.mulcahy@sun.com>
1442
1443         * registryd/deviceeventcontroller.c
1444         (spi_device_event_controller_object_finalize): Fix build on
1445         systems without XEvIE.
1446         
1447 2003-08-06  Brian Cameron <Brian.Cameron@sun.com>
1448
1449         * acconfig.h, configure.in, registryd/Makefile.am,
1450           registryd/devicecontoller.[ch]: Add XEViE support.
1451
1452 2003-08-06  Wang Jian  <lark@linux.net.cn>
1453
1454         * configure.in: Added "zh_CN" to ALL_LINGUAS.
1455
1456 2003-08-06  Metin Amiroff<metin@karegen.com>
1457
1458         * configure.in: Added "az" (Azerbaijani) to ALL_LINGUAS
1459
1460 2003-08-06  Padraig O'Briain <padraig.obriain@sun.com>
1461
1462         * idl/Accessibility_Registry.idl: Put MODIFIER_SHIFTLOCk and
1463         MODIFIER_ALT in correct place. 
1464
1465         This fixes part of bug #118114.
1466
1467 2003-07-30  Alessio Frusciante  <algol@firenze.linux.it>
1468
1469         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
1470
1471 2003-07-28  Changwoo Ryu  <cwryu@debian.org>
1472
1473         * configure.in: Added "ko" to ALL_LINGUAS.
1474
1475 2003-07-28  Ole Laursen  <olau@hardworking.dk>
1476
1477         * configure.in: Added "da" to the commented out ALL_LINGUAS.
1478
1479 2003-07-27  Laurent Dhima  <laurenti@alblinux.net>
1480
1481         * configure.in: Added "sq" to ALL_LINGUAS.
1482
1483 2003-07-27  Hasbullah Bin Pit  <sebol@ikhlas.com>
1484                                                                                 
1485         * configure.in: Added 'ms' (Malay) in ALL_LINGUAS.
1486
1487 2003-07-24  Pablo Saratxaga  <pablo@mandrakesoft.com>
1488
1489         * configure.in: updated ALL_LINGUAS list
1490
1491 2003-07-24  Dmitry G. Mastrukov  <dmitry@taurussoft.org>
1492
1493         * configure.in: Added Belarusian to ALL_LINGUAS.
1494
1495 2003-07-23  Padraig O'Briain <padraig.obriain@sun.com>
1496
1497         * cspi/spi_event.c (AccessibleEvent_unref): Call CORBA_free for
1498         event->data.
1499         * cspi/bonobo/cspi-bonobo-listener.c (cspi_event): Call 
1500         CORBA_any__alloc to allocate CORBA_Any in InternalEvent.
1501
1502         This fixes bug #116949.
1503
1504 2003-07-22  Padraig O'Briain <padraig.obriain@sun.com>
1505
1506         * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
1507         Correct CSPI to SPI in function documentation.
1508
1509         This fixes bug #118054.
1510
1511 2003-07-16  Dmitry G. Mastrukov  <dmitry@taurussoft.org>
1512
1513         * configure.in: Added Russian to ALL_LINGUAS.
1514
1515 2003-07-16  Duarte Loreto <happyguy_pt@hotmail.com>
1516
1517         * configure.in: Added Portuguese (pt) to ALL_LINGUAS.
1518
1519 2003-07-14  Danilo Ã… Segan  <dsegan@gmx.net>
1520
1521         * configure.in: Added "sr" and "sr@Latn" (Serbian) to ALL_LINGUAS.
1522
1523 2003-07-10  Joel Brich <joel.brich@laposte.net>
1524
1525         * configure.in: Added "eo" (Esperanto) to ALL_LINGUAS.
1526
1527 2003-07-07  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>
1528
1529         * configure.in (ALL_LINGUAS): Added "es" (Spanish).
1530
1531 2003-07-07  Padraig O'Briain <padraig.obriain@sun.com>
1532
1533         * cspi/spi_event.c (AccessibleEvent_unref): Update code to free
1534         resources allocated for AccessibleEvent. See cspi_event().
1535
1536         * cspi/spi_streamablecontent.c (cspi_streams_close_all): Set
1537         static variable streams to NULL.
1538
1539         * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
1540         Update so that AcessibleEvent_ref will work.
1541
1542         This fixes bug #116624.
1543
1544 2003-07-06  Jordi Mallach  <jordi@sindominio.net>
1545
1546         * configure.in (ALL_LINGUAS): Added "ca" (Catalan).
1547
1548 2003-07-06  Christophe Merlet  <redfox@redfoxcenter.org>
1549
1550         * configure.in: Added "fr" (French) to ALL_LINGUAS.
1551
1552 2003-07-02  Christian Neumair  <chris@gnome-de.org>
1553
1554         * configure.in: Added "de" (German) to ALL_LINGUAS.
1555
1556 2003-07-01  Dafydd Harries  <daf@parnassus.ath.cx>
1557
1558         * configure.in: Added "cy" (Welsh) to ALL_LINGUAS.
1559
1560 2003-07-01  Miloslav Trmac  <mitr@volny.cz>
1561
1562         * configure.in: Addded "cs" to ALL_LINGUAS. Why is it commented out?
1563
1564 2003-07-01  Artur Flinta  <aflinta@cvs.gnome.org>
1565
1566         * configure.in: Added "pl" to ALL_LINGUAS.
1567
1568 2003-07-01  Gil "Dolfin" Osher <dolfin@rpg.org.il>
1569
1570         * configure.in: Added "he" (Hebrew) to ALL_LINGUAS.
1571
1572 2003-06-30  Bill Haneman <bill.haneman@sun.com>
1573         
1574         * libspi/action.c:
1575         (get_action_from_servant): 
1576         Removed assertion that action is implemented on an AtkObject.
1577
1578         * libspi/hyperlink.c:
1579         (spi_hyperlink_new):
1580         Aggregate AccessibleAction interface on the hyperlink object if
1581         the object implements AtkAction.  (This convention is used in
1582         gtkhtml2.)
1583         
1584 2003-06-30  Bill Haneman <bill.haneman@sun.com>
1585
1586         * configure.in: Revved to 1.3.5.
1587         
1588         * registryd/Accessibility_Registry.server.in.in:
1589         Marked up appropriate strings for translation.
1590         
1591         * atk-bridge/bridge.c: Marked a couple of
1592         user-visible warnings for translation.  Questionable
1593         whether they are really useful, but possibly so.
1594
1595         
1596 2003-06-28  Christian Rose  <menthos@menthos.com>
1597
1598         * configure.in: Added "sv" to ALL_LINGUAS.
1599
1600 2003-06-26  Bill Haneman <bill.haneman@sun.com>
1601
1602         * registryd/registry.c: 
1603         (spi_registry_object_finalize): Unref the deviceeventcontroller.
1604         (registry_defer_on_event): Defer focus: events, this is an
1605         improvement to the patch for bug #108664.
1606
1607         * TODO: Update with 2.4/"Dev Complete" items.
1608
1609 2003-06-26  Padraig O'Briain <padraig.obriain@sun.com>
1610
1611         * atk-bridge/bridge.c:
1612         (spi_atk_bridge_init_event_type_consts): Ensure that this function only
1613         looks up signals once.
1614         (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only
1615         if doing registration.
1616         (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts
1617         when doing registration.
1618         
1619         This fixes bug #115014.
1620
1621 2003-06-25  Padraig O'Briain <padraig.obriain@sun.com>
1622
1623         * atk-bridge/bridge.c:
1624         (atk_bridge_init): Add signal handler for children-changed:remove on
1625         root when in a BonoboComponent.
1626         (spi_atk_bridge_toplevel_added): Call spi_atk_bridge_do_registration
1627         for first toplevel only other incrememt variable toplevels.
1628         (spi_atk_bridge_toplevel_removed): For last toplevel deregister 
1629         application and remove listeners.
1630         (spi_atk_bridge_get-registry): Change NULL to CORBA_OBJECT_NIL for
1631         consistency.
1632         (spi_atk_deregister_event_listeners): New function which removes
1633         listeners.
1634         (reinit_register_vars): New fuction which reinitializes variables.
1635
1636         This fixes bug #111578.
1637
1638 2003-06-13  Bill Haneman <bill.haneman@sun.com>
1639
1640         * configure.in: version 1.3.4.
1641
1642         * cspi/spi_accessible.c:
1643         Changed test of obj==NULL to obj==CORBA_OBJECT_NIL.
1644
1645
1646 2003-06-13  Michael Meeks  <michael@ximian.com>
1647
1648         * cspi/bonobo/cspi-bonobo.c (cspi_check_ev): use it.
1649
1650         * cspi/spi_main.c (cspi_peek_ev): impl.
1651
1652 2003-06-11  Padraig O'Briain <padraig.obriain@sun.com>
1653
1654         * cspi/spi-roletypes.h: Add role SPI_ROLE_AUTOCOMPLETE
1655
1656         * cspi/spi_accessible.c (cspi_init_role_table): Add ROLE_AUTOCOMPLETE.
1657
1658         * docs/reference/cspi/tmpl/spi_accessible.sgml: Add role 
1659         SPI_ROLE_AUTOCOMPLETE
1660
1661         * idl/Accessibility_Role.idl: Add role ROLE_AUTOCOMPLETE
1662
1663         * libspi_accessible.c(spi_init_role_lookup_table): Add lookup
1664         for ROLE_APPLICATION and ROLE_AUTOCOMPLETE
1665
1666 2003-06-11  Bill Haneman <bill.haneman@sun.com>
1667
1668         * libspi/streamablecontent.h:
1669         * libspi/streamablecontent.c:
1670         New files, provide implementation/wrappers for
1671         Accessibility_StreamableContent.
1672
1673         * cspi/spi_streamablecontent.c:
1674         Connected the C wrappers to the libspi C bindings.
1675         (AccessibleStreamableContent_close): New method.
1676
1677         * cspi/spi.h:
1678         (AccessibleStreamableContent_close): New method, needed
1679         since we have an "open, [seek], read, close" model in cspi.
1680         
1681 2003-06-11  Bill Haneman <bill.haneman@sun.com>
1682
1683         Fix for #108664; Padraig's revision of my original patch.
1684         
1685         * registryd/registry.h:
1686         Added event queue list, is_queuing, and exit_notify_timeout
1687         to the registry struct.
1688         
1689         * registryd/registry.c:
1690         (registry_init): Initialize new struct from registry.h.
1691         (impl_registry_notify_event):
1692         Filter events before notifying, in case some need to be
1693         deferred, etc.
1694         (registry_filter_event): New,
1695         we defer certain incoming events (for instance 
1696         window:deactivate) because we may wish to hide
1697         or reject them based on pending events.  This is
1698         mostly a workaround for bug #108664.
1699         (registry_queue_event, registry_start_queue): New.
1700         (registry_defer_on_event): Test event to see if it
1701         initiates queuing.
1702         (registry_reset_on_event): Returns TRUE if the
1703         event should cause a queue reset.
1704         (registry_discard_on_event): Returns TRUE if the event
1705         should cause the previous queue contents to be discarded.
1706         (registry_timeout_flush_queue): Flushes the pending event
1707         queue if no reset/discard-triggering events have come in 
1708         within the timeout period.
1709         (registry_emit_event): New.
1710         (registry_clone_notify_context): New, used when queueing the 
1711         event notify contexts.
1712
1713 2003-06-10  Bill Haneman <bill.haneman@sun.com>
1714
1715         * configure.in: Version revved to 1.3.2, lt 0.9.2
1716         Incremented ATK required version to 1.3.4.
1717
1718         * cspi/spi_registry.c:
1719         (SPI_generateKeyEvent):
1720         We now pass the keystring along if it's non-null.
1721         
1722         * registryd/deviceeventcontroller.c:
1723         (keysym_mod_mask): New method, returns modifier mask 
1724         required to generate a keysym from a given keycode.
1725         (dec_synth_keysym): New method.
1726         (dec_synth_keystring): New method.
1727         (dec_get_modifier_state): New method.
1728         (dec_lock_modifiers): New
1729         (dec_unlock_modifiers): New.
1730         (dec_keysym_for_unichar): New, rather brute-force
1731         conversion from UCS-4 to X KeySyms.  Only works for
1732         Latin at the moment, with partial implementations for
1733         Greek, Hebrew, and (incomplete) Katakana.
1734         (impl_generate_keyboard_event): Now implement 
1735         "KEYSTRING" synthesis and implement "KEYSYM"
1736         synthesis properly.
1737         (keycode_from_keysym): Improved, passes a returned
1738         modmask value now if the corresponding param is non-NULL.
1739         
1740         Fixes bugs #92143  and #109776.
1741
1742         * test/Makefile.am:
1743         * test/keysynth-test.c:
1744         New test program for key synthesis, to confirm fixes for
1745         above bugs.
1746
1747
1748 2003-06-10  Padraig O'Briain <padraig.obriain@sun.com>
1749
1750         * cspi/spi.h: Add relation SPI_RELATION_POPUP_FOR
1751
1752         * cspi/spi_accessible.c (cspi_init_relation_type_table):
1753         Add line for RELATION_POPUP_FOR
1754
1755         * docs/reference/cspi/tmpl/spi_relation.sgml: 
1756         Add relation SPI_RELATION_POPUP_FOR
1757
1758         * docs/reference/cspi/tmpl/spi_stateset.sgml: 
1759         Change state SPI_STATE_INCONSISTENT to SPI_STATE_INDETERMINATE 
1760
1761         * idl/Accessibility_Reloation.idl: Add RELATION_POPUP_FOR.
1762
1763         * libspi/relation.c (spi_init_relation_type_table): 
1764         Add line for RELATION_POPUP_FOR
1765
1766 2003-06-10  Padraig O'Briain <padraig.obriain@sun.com>
1767
1768         * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if 
1769         there are still windows which have not been deleted and emit 
1770         window:deactivate, if necessary and window:destroy events.
1771         This fixes bug #114370. The change on June 5th was not correct.
1772
1773 2003-06-09  Bill Haneman <bill.haneman@sun.com>
1774
1775         * configure.in: Revved to 1.3.3. (lt-version 9:2:9, .so.0.9.2)
1776
1777         * cspi/spi.h: 
1778         (SPI_dupString): Allow dup-ing of a string such that it's safe to
1779         SPI_freeString it.
1780         New methods for client exception handling and interception.
1781         (SPI_exceptionHandlerPush): New - push a handler onto the stack.
1782         (SPI_exceptionHandlerPop): You guessed it... 
1783         (SPI_getSourceType): Return the type of object which offended.
1784         (SPI_getExceptionCode): Return an enum code telling, possibly, 
1785         what sort of thing went wrong, i.e. DISCONNECT (object died), etc.
1786         (SPIAccessibleException_getSource): get the source object for
1787         exceptions that come from Accessibles, if SPIExceptionSourceType is
1788         SPI_EXCEPTION_SOURCE_ACCESSIBLE.
1789         (SPIException_getDescription): New, returns a string description of
1790         the problem.  [Not yet a stable ABI, strings are not frozen]
1791
1792         * cspi/spi-private.h:
1793         Added implementation details of opaque SPIException
1794         structure.
1795         
1796         * cspi/spi_main.c:
1797         Implementations of above.  Also
1798         (_cspi_exception_throw): new private method that 
1799         dispatches exceptions to handlers, called from cspi-bonobo.c
1800
1801         * cspi/bonobo/cspi-bonobo.c:
1802         (cspi_check_ev): call _cspi_exception_throw.
1803         Don't print a warning message if the exception has been 
1804         handled by _cspi_exception_throw.
1805         
1806 2003-06-05  Padraig O'Briain <padraig.obriain@sun.com>
1807
1808         * cspi/atk-bridge/bridge.c (spi_atk_bridge_exit_func): Check if 
1809         there are still windows which have not been deleted and emit 
1810         window:deactivate, if necessary and window:destroy events.
1811         This fixes bug #114370.
1812
1813 2003-06-03  Bill Haneman <bill.haneman@sun.com>
1814
1815         * cspi/spi_main.c:
1816         (cspi_accessible_is_a): Make non-fatal 
1817         if the object reference is dead.
1818
1819 Mon Jun  2 15:35:29 2003  Jonathan Blandford  <jrb@redhat.com>
1820
1821         * cspi/spi_main.c: #include <stdio.h>
1822         * test/simple-at.c: ditto
1823         * test/event-listener-test.c: ditto
1824         * test/screen-review-test.c: ditto
1825
1826 2003-05-30  Michael Meeks  <michael@ximian.com>
1827
1828         * test/test-simple.c (main): use CORBA_ORB_perform_work
1829         instead of an unnecessary linc_ call.
1830
1831 2003-05-20  Padraig O'Briain <padraig.obriain@sun.com>
1832
1833         * cspi/spi-statetypes.h, cspi/docs/tmpl/spi_stateset.sgml:
1834         Add SPI_STATE_INDETERMINATE.
1835
1836         * cspi/spi_accessible.c (spi_state_to_corba): Add support for
1837         INDETERMINATE.
1838
1839         * idl/Accessibility_State.idl: Add support for STATE_INDETERMINATE.
1840
1841         * libspi/stateset.c (init_state_type_tables): Add support for
1842         INDETERMINATE.
1843
1844 2003-05-19  Padraig O'Briain <padraig.obriain@sun.com>
1845
1846         * configure: Update versions of atk and gail required.
1847         This fixes bug #113268.
1848         
1849 2003-05-02  Bill Haneman  <bill.haneman@sun.com>
1850
1851         * configure.in: Revved micro version to 1.3.1 (because of build fix).
1852
1853 2003-05-02  Frederic Crozat  <fcrozat@mandrakesoft.com>
1854
1855         * libspi/Makefile.am:
1856         Ensure headers are generated before being used by c sources.
1857
1858 2003-05-01  Bill Haneman <bill.haneman@sun.com>
1859
1860         * configure.in:
1861         Simplified lt versioning rules.
1862         Incremented version to 1.3.0, to indicate that we're on the
1863         unstable branch now.  
1864
1865 2003-04-29  Padraig O'Briain <padraig.obriain@sun.com>
1866
1867         * docs/reference/cspi/Makefile.am, docs/reference/idl/Makefile.am:
1868         Add MKDB_OPTIONS=--outtput-format=xml
1869
1870         * docs/reference/cspi/at-spi-cspi-docs.sgml
1871         docs/reference/idl/at-spi-idl-docs.sgml:
1872         Convert to Docbook XML.
1873
1874         This fixes bug #111793.
1875
1876 2003-04-25  Padraig O'Briain <padraig.obriain@sun.com>
1877
1878         * cspi/spi-listener.h: Add documentation for AccessibleDeviceEventType,
1879         AcccessibleKeyEventType, AccessibleKeyMaskType.
1880
1881         * cspi/spi-roletypes.h: Update documentation for AccessibleRole.
1882
1883         * cspi/state-types.h: Add documentation for AccessibleState.
1884
1885         * cspi/spi.h: Add documentation for AccessibleTextBoundaryType,
1886         AccessibleTextClipType, AccessibleRelationType, AccessibleCoordType,
1887         AccessibleKeySynthType, AccessibleKeyListenerSyncType, 
1888         AccessibleComponentLayer.
1889
1890         * cspi/spi_event.c, cspi/spi_registry.c, cspi/spi_text.c: Fix bugs 
1891         in documentation.
1892
1893         * docs/reference/cspi/at-spi-cspi-sections.txt: Add undefined symbols.
1894
1895         * docs/reference/cspi/tmpl/spi_registry.sgml: Add description of 
1896         Accessible.  Add description of AccessibleEvent, 
1897         AccessibleEventListenerCB.
1898
1899         * docs/reference/cspi/tmpl/spi_event.sgml: Update with extra 
1900         documentation.
1901
1902         * docs/reference/cspi/tmpl/spi_registry.sgml: Update with extra 
1903         documentation. Add description of AccessibleKeystrokeListenerCB,
1904         AccessibleKeyEventMask, AccessibleModifierMaskType, 
1905         AccessibleKeyMaskType, AccessibleKeystroke, AccessibleDeviceEvent,
1906         AccessibleDeviceEventMask, AccessibleDeviceListenerCB. 
1907
1908         * docs/reference/cspi/tmpl/spi_stateset.sgml: Add description of
1909         AccessibleStateSet.
1910
1911         * docs/reference/cspi/tmpl/spi_text.sgml: Update with extra 
1912         documentation.
1913
1914         This fixes bug #104730.
1915
1916 2003-04-24  Padraig O'Briain <padraig.obriain@sun.com>
1917
1918         * atk-bridge/bridge.c (spi_init_keystroke_from_atk_key_event):
1919         Set is_text field of Accessibility_DeviceEvent data structure.
1920
1921         * cspi/bonobo/cspi-bonobo-listener.c (cspi_device_event): Set
1922         is-text field of AccessibleDeviceEvent data structure.
1923
1924         This addresses part of bug #108666.
1925
1926         * registryd/devcieeventcontroller.c: Unset debug option.
1927
1928 2003-04-14  Padraig O'Briain <padraig.obriain@sun.com>
1929
1930         * cspi/accessible.c:
1931         (cpi_initial_relation_type_table): New function which initializes 
1932         mapping between Accessibility_RelationType and AccessibleRelationType.
1933         (cspi_relation_type_from_spi_relation_type): New function which
1934         translates an Accessibility_RelationType into an AccessibleRelationType.
1935         (AccessibleRelation_getRelationType): Use 
1936         cpi_relation_type_get_spi_relation_type to return correct value.
1937         (spi_state_to_corba): Return correct type for default case.
1938
1939         * cspi/spi_registry.c (SPI_registerAccessibleKeyStrokeListener):
1940         Use Accessibility_EventType instead of Accessibility_KeyEventType.
1941
1942         * cspi/cspi-bonobo-listener.c:
1943         Remove semicolon after BONOBO_TYPE_FUNC. Add casts to avoid compiler
1944         warnings.
1945
1946         * libspi/accessible.c, libspi/action.c, libspi/application.c,
1947         libspi/base.c, libspi/component.c, libspi.devicelistener.c,
1948         libspi/editabletable.c, libspi/hyperlink.c, libspi/hypertext.c,
1949         libspi/image.c, libspi/listener.c, libspi/selection.c, 
1950         libspi/stateset.c, libspi/table, libspi/text.c, libspi/value.c, 
1951         registryd/desktop.c, registryd/registry.c:
1952         Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1953
1954         * libspi/eventlistener.c
1955         Remove semicolon after BONOBO_TYPE_FUNC.
1956
1957         * libspi/relation.c:
1958         Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1959         (spi_init_relation_type_table): Initialize using correct type.
1960
1961         * registryd/desktop.c:
1962         Remove semicolon after BONOBO_TYPE_FUNC_FULL.
1963         (spi_keystroke_from_x_key_event): Use Accessibility_EventType instead 
1964         of Accessibility_KeyEventType.
1965
1966         * test/key-listener-test.c (report_tab_key_event): Use fprintf
1967         instead of g_print.
1968
1969         * tests/simple-at.c, tests/screen-review-test.c:
1970         Add include for <strings.h>.
1971
1972         * tests.stress-test.c:
1973         Add includes for <unistd.h> and <bonobo/bonobo-main.h>
1974
1975         These changes fix compiler warnings when using FORTE compiler on
1976         Solaris; fixes bug #107479.
1977
1978         
1979 2003-04-10  Bill Haneman <bill.haneman@sun.com>
1980
1981
1982         * configure.in: revved to 1.1.10
1983         
1984         * libspi/keymasks.h:
1985         (SPI_KEYMASK_NUMLOCK): Added.
1986
1987         * registryd/deviceeventcontroller.c:
1988         (spi_key_event_matches_listener): AND with a smaller
1989         bitmask (as we should).  
1990         (spi_dec_translate_mask): 
1991         New method, sets the virtual NumLock modifier bit
1992         if numlock is on.  Eventually it can handle other virtual
1993         modifier bits if needed, or other marshalling from
1994         at-spi modifier masks to platform (X) masks.
1995         (spi_dec_key_listener_new):
1996         Call spi_dec_translate_mask to set up virtual mod bits
1997         in the 'mask' field when creating a new listener struct.
1998         (spi_dec_emit_modifier_event):
1999         Set the virtual (i.e. NumLock) bits before emitting event.
2000         (spi_controller_register_with_devices):
2001         Query for the NumLock modifier 'physical' bit if Xkb is
2002         present, for use in above methods.
2003
2004         Fix for 107261.
2005         
2006 2003-04-10  Bill Haneman <bill.haneman@sun.com>
2007         
2008         * registryd/deviceeventcontroller.c:
2009         (spi_keystroke_from_x_key_event):
2010         Instead of checking to see if the keysym is
2011         printable, check the string from XLookupString
2012         if available, get the first unicode character from it,
2013         and call g_unichar_isprint to determine whether the
2014         is_text flag should be TRUE or FALSE.
2015         
2016         Fix for bug 110419.
2017
2018 2003-04-02  Padraig O'Briain <padraig.obriain@sun.com>
2019
2020         * atk-bridge/bridge.c: Add support for extended events
2021         * cspi/spi_event.c: Add documentation and implementation for
2022         extended events.
2023         * tests/event-listener-test.c: Add tests for extended events.
2024
2025         This fixes bugs #100424 and #100426.
2026  
2027 2003-04-02  Padraig O'Briain <padraig.obriain@sun.com>
2028
2029         * configure.in: Add 100 to AT_SPI_BINARY_AGE and update calculation
2030         of LT_CURRENT. This fixes bug #89350.
2031
2032 2003-04-01  Padraig O'Briain <padraig.obriain@sun.com>
2033
2034         * atk-bridge/bridge.c (spi_bridge_signal_listener):  Add check for
2035         number of signal parameter values before accessing them. This fixes
2036         bug #109626.
2037
2038 2003-04-01  Bill Haneman <bill.haneman@sun.com>
2039
2040         * configure.in: Fixed duplicate inclusion of -lspi.
2041         * branched for gnome-2-2/HEAD.  
2042         [created tag "gnome-2-2"]
2043
2044 2003-03-07  Bill Haneman <bill.haneman@sun.com>
2045
2046         * configure.in: 1.1.9 release.
2047         * NEWS: updated.
2048         
2049 2003-03-07  Bill Haneman <bill.haneman@sun.com>
2050
2051         [needed by GOK, to fix bugs 107985 and 107988]
2052         * registryd/deviceeventcontroller.c:
2053         (spi_dec_clear_unlatch_pending):
2054         New method, unsets the 'unlatch' mask for XkbStateNotifyEvents.
2055         (spi_dec_set_unlatch_pending):Revised DEBUG comment.
2056         (spi_dec_init_mouse_listener):Emit warning if mouse button
2057         passive grab fails.
2058         (spi_device_event_controller_forward_mouse_event):
2059         Removed unnecessary parens from a conditional.
2060         (global_filter_fn):Added TODO comment.
2061         (impl_generate_keyboard_event):
2062         Cancel a pending relatch if a 'delatching' key was 
2063         synthesized.
2064         
2065 2003-03-07  Padraig O'Briain <padraig.obriain@sun.com>
2066
2067         * atk-bridge/bridge.c:
2068         Change atk_signal_child_changed to atk_signal_children_changed. 
2069         Reorganize code in spi_atk_bridge_signal_listener().
2070
2071         * test/event-listener-test.c:
2072         Add children_changed_listener and report_children_changed_event()
2073         to test AccessibleChildEvent_getChildAccessible.
2074
2075 2003-03-05  Padraig O'Briain <padraig.obriain@sun.com>
2076
2077         * cspi/spi_event.c (cspi_internal_event_get_text): Change
2078         g_strdup to CORBA_String_dup (bug #105291)
2079
2080         * test/event-listener-test.c (report_text_event): Add call to
2081         SPI_freeString.
2082
2083 2003-02-28  Bill Haneman <bill.haneman@sun.com>
2084
2085         * registryd/deviceeventcontroller.c:
2086         (spi_keystroke_from_x_key_event): 
2087         Fix string and keysym return codes to match modifier state. 
2088         [bug #107256]
2089
2090 2003-02-28  Bill Haneman <bill.haneman@sun.com>
2091
2092         * registryd/deviceeventcontroller.c:
2093         (spi_keystroke_from_x_key_event): 
2094         Fix segv due to improper use of isprint(c). [bug #107254]
2095
2096 2003-02-24  Bill Haneman <bill.haneman@sun.com>
2097
2098         * cspi/spi_text.c:
2099         (get_accessible_text_boundary_type):
2100         Move default return value to (new) default case in switch.
2101         (get_accessible_text_clip_type):
2102         Move default return value to (new) default case in switch.
2103         
2104         * libspi/application.c:
2105         (lookup_toolkit_event_for_name, reverse_lookup_name_for_toolkit_event):
2106         Remove unused methods.
2107         (impl_accessibility_application_register_object_event_listener):
2108         Remove unused methods.
2109
2110         * libspi/value.c:
2111         Added #include of <math.h>.
2112
2113         * registryd/deviceeventcontroller.c:
2114         (spi_dec_ungrab_mouse): Bracketed with #ifdefs, since 
2115         we don't currently use this method.
2116         (spi_dec_init_mouse_listener): Don't call XkbGetMap unless
2117         have_xkb is TRUE.
2118         (impl_generate_key_event):
2119         Remove unused variables.
2120         (impl_generate_mouse_event):
2121         Initialize button to zero, just in case we get an invalid
2122         input.  Added support for mouse buttons 4 and 5.
2123         (spi_device_event_controller_new):
2124         Removed unused variable declaration for 'private'.
2125         (registry.h):
2126         Added #include of <gdk/gdk.h>
2127
2128 2003-02-14  Padraig O'Briain <padraig.obriain@sun.com>
2129
2130         * configure.in: Update to work when X is not installed in expected 
2131         location. Fixes bug #105836.
2132
2133         * atk-bridge/bridge.c
2134         (spi_atk_bridge_init_event_type_consts): Look up "link-selected" for
2135         AtkHypertext
2136         (spi_atk_register_event_listener): Add signal listener for 
2137         link-selected
2138         (spi_atk_bridge_signal_listener): Event event when link-selected
2139         signal is emitted. (bug #104622)
2140
2141         * cspi/spi_event.c (cspi_internal_event_get_text): Call g_strdup()
2142         on returned string. (bug #105291)
2143
2144         * test/event-listener-test.c: Add test for link-selected.
2145         
2146 2003-02-14  Padraig O'Briain <padraig.obriain@sun.com>
2147
2148         * atk-bridge/Makefile.am: Correct typo in previous commit.
2149
2150 2003-02-13  Padraig O'Briain <padraig.obriain@sun.com>
2151
2152         * atk-bridge/Makefile.am: Allow for build directory to be different 
2153         from source directory
2154
2155         * registryd/Makefile.am: Allow for build directory to be different
2156         from source directory
2157
2158         Bug #104744.
2159
2160 2003-01-29  Bill Haneman <bill.haneman@sun.com>
2161         
2162         * cspi/Makefile.am:
2163         Fixed dependencies for libcspi so that libspi gets pulled in
2164         properly.  Fixes 104741.
2165
2166         * cspi/spi.h:
2167         * cspi/spi_event.c:
2168         Clean up inline docs a little.
2169
2170 2003-01-27  Padraig O'Briain <padraig.obriain@sun.com>
2171
2172         * registryd/desktop.c: Implement AccessibleComponent for SpiDesktop.
2173         This is done by implementing AtkComponent for SpiAtkDesktop, which is
2174         the AtkObject within an SpiDesktop.
2175         This addresses bug #101524.
2176
2177         * registryd/deviceeventcontroller.c (spi_device_event_controller_init):
2178         Remove call to gdk_init().
2179
2180         * registryd/registry.c (spi_registry_init): Add call to gdk_init()
2181         so that Display is set when SpiDesktop is created.
2182
2183 2003-01-21  Padraig O'Briain <padraig.obriain@sun.com>
2184
2185         * registryd/deviceeventcontroller.c: Add include of <sys/time.h>
2186         This fixes bug #102830.
2187
2188 2003-01-15  Padraig O'Briain <padraig.obriain@sun.com>
2189
2190         * test/test-simple.c: Update to take account of fact that GailButton 
2191         now implements AtkText.
2192         (create_text_window): Set name on AtkObject for GtkEntry.
2193         (validate_accessible): Check accessible name before calling test_text().
2194
2195         * libspi/Makefile.am: Fix problem with building outside of source
2196         directory. Bug #98120.
2197
2198         * cpsi/spi_table.c (AccessibleTable_getNSelectedColumns): Fix
2199         typo in documentation comments. Bug #94275.
2200
2201 2003-01-15  Padraig O'Briain <padraig.obriain@sun.com>
2202
2203         * libspi/text.c (impl_getBoundedRanges): Bug fix.
2204
2205 2003-01-10  Padraig O'Briain <padraig.obriain@sun.com>
2206
2207         * libspi/text.c:
2208         Add includes to avoid compiler warnings on Solaris.
2209         (impl_getRangeExtents): Bug fix.
2210
2211 2002-12-17  Bill Haneman <bill.haneman@sun.com>
2212
2213         Fix for 100944, [API addition approved by Gman and murrayc].
2214         
2215         * NEWS: updated.
2216         
2217         * configure.in:
2218         Revved to 1.1.8.
2219
2220         * idl/Accessibility_Text.idl:
2221         (Text::Range, Text::RangeList, TEXT_CLIP_TYPE): New typedefs
2222         (Text::getRangeExtents): New method for efficient 
2223         bounds query of a text range.
2224         (Text::getBoundedRanges): New method for efficient
2225         clipping of text to bounding boxes.
2226         (unImplemented7, unImplemented8): 
2227         Removed these padding methods to preserve bincompat.
2228
2229         * libspi/text.c:
2230         (impl_getRangeExtents): implementation of new IDL.
2231         (impl_getBoundedRanges): implementation of new IDL.
2232         (SpiTextRect): Internal use struct.
2233         (_spi_text_rect_union): internal method, calculates union of two
2234         SpiTextRect bounding rects.
2235         (_spi_text_range_seq_from_gslist): internal method, allows us
2236         to build our sequence efficiently as a gslist then convert it
2237         to a CORBA seq.
2238         (_spi_bounds_contain): internal method, determines whether
2239         a text character is "in" or "out" of a clip rect according to
2240         values of TEXT_CLIP_TYPE.
2241         (spi_text_class_init): Initialize the new methods in the epv.
2242         
2243         * cspi/spi.h:
2244         (AccessibleTextClipType): New enum used by screen review api.
2245         (AccessibleTextRange): New struct used by screen review api.
2246         (AccessibleText_getRangeExtents): 
2247         cspi binding for Accessibility_Text_getRangeExtents.
2248         (AccessibleText_getBoundedRanges):
2249         cspi binding for Accessibility_Text_getBoundedRanges.
2250         (AccessibleTextRange_freeRanges): convenience method.
2251         
2252         * cspi/spi_text.c:
2253         (AccessibleText_getRangeExtents): 
2254         cspi binding for Accessibility_Text_getRangeExtents.
2255         (AccessibleText_getBoundedRanges):
2256         cspi binding for Accessibility_Text_getBoundedRanges.
2257         (AccessibleTextRange_freeRanges): convenience method.
2258         (get_accessible_text_clip_type): internal conversion method.
2259         (get_accessible_text_ranges_from_range_seq): internal conversion method.
2260
2261         * registryd/deviceeventcontroller.c:
2262         (spi_dec_mouse_check):
2263         Improved behavior for mouse:abs events 
2264         [same granularity as mouse:rel events, and no
2265         events when mouse is idle].     
2266         
2267 2002-12-16  Michael Meeks  <michael@ximian.com>
2268
2269         * cspi/spi_accessible.c (spi_state_to_corba): rename.
2270
2271         * libspi/stateset.c (state_spi_to_atk): split out
2272         ( fix several remote array bounds nasties )
2273         (spi_atk_state_set_from_sequence, impl_contains, impl_add),
2274         (impl_remove): make safe from array bounds issues.
2275         (spi_atk_state_from_spi_state): impl.
2276
2277         * libspi/stateset.h (spi_state_set_cache_is_empty): 
2278         add a set of wrapper defines to get layering right.
2279
2280         * cspi/spi_accessible.c: update state set stuff to
2281         use it.
2282
2283 2002-12-14  Michael Meeks  <michael@ximian.com>
2284
2285         * atk-bridge/bridge.c (spi_atk_bridget_get_dec): impl.
2286         to avoid 2 roundtrips to the registry per key event
2287         (spi_atk_bridge_key_listener): upd.
2288         (deregister_application): release the dec.
2289
2290         * registryd/registry.c (notify_listeners_cb):
2291         bin lots of re-enterant complexity - we no longer
2292         do a round-trip bonobo ref here, ensure that a single
2293         listener's exception failure won't poison all other
2294         notifications.
2295         (impl_registry_notify_event): bin obvious memory leak.
2296
2297 2002-12-13  Michael Meeks  <michael@ximian.com>
2298
2299         * atk-bridge/bridge.c (spi_atk_bridge_focus_tracker):
2300         init the ev so the error is meaningful.
2301         (spi_atk_bridge_key_listener): ditto.
2302
2303         * cspi/spi_main.c (cspi_ev): init the ev so we start
2304         with a clean slate, otherwise the first exception
2305         kills us completely.
2306
2307         * cspi/spi_text.c (get_accessible_text_boundary_type): 
2308         add a fallthrough for no warnings.
2309
2310         * cspi/spi_registry.c: prune unused warnings.
2311
2312         * cspi/spi_main.c (cspi_object_take): fix
2313         mind-blowing brokenness ( by watching the compile
2314         warnings )
2315
2316         * cspi/spi_accessible.c (Accessible_getStateSet):
2317         re-impl. to use an AtkStateSet.
2318         (spi_state_type_from_accessible_state),
2319         (init_state_table): bin these.
2320
2321         * libspi/stateset.c (spi_atk_state_set_from_sequence):
2322         split out from
2323         (atk_state_set_from_accessibility_state_set): here.
2324
2325         * cspi/spi_accessible.c (spi_state_to_atk): impl.
2326         (AccessibleStateSet_contains, AccessibleStateSet_ref),
2327         (AccessibleStateSet_unref, AccessibleStateSet_contains),
2328         (AccessibleStateSet_add, AccessibleStateSet_remove),
2329         (AccessibleStateSet_equals, AccessibleStateSet_compare),
2330         (AccessibleStateSet_isEmpty): re-write to use a local
2331         AtkStateSet object.
2332
2333 2002-12-13  Bill Haneman <bill.haneman@sun.com>
2334
2335         * configure.in: Revved to 1.1.7 (new keymask vals).
2336
2337 2002-12-10  Bill Haneman <bill.haneman@sun.com>
2338
2339         * libspi/keymasks.h:
2340         Added SPI_KEYMASK_MOD4 and SPI_KEYMASK_MOD5.
2341
2342 2002-12-10  Padraig O'Briain  <padraig.obriain@sun.com>
2343
2344         * cspi/spi_event.c 
2345         (cspi_internal_event_get_object): Use CORBA_TypeCode_Equivalent() 
2346         to compare two CORBA_TypeCodes.
2347         (cspi_internal_event_add): Silence warning from FORTE compiler.
2348
2349         * cspi/bonobo/cspi_bonobo-listener.h: Add function declarations to 
2350         avoid implicit declaration of functions.
2351         
2352 2002-12-09  Padraig O'Briain  <padraig.obriain@sun.com>
2353
2354         * atk-bridge/bridge.c:
2355         (spi_atk_bridge_init_event_type_consts): Store signal id for
2356         active-descendant-changed signal.
2357         (spi_atk_register_event_listeners): Add signal listener for
2358         active-descendant-changed signal,
2359         (spi_atk_bridge_signal_listener): Move code in function 
2360         spi_atk-signal_emit_event() into this function.
2361         Add support for active-descendant-changed
2362         Update support for child-changed signal.
2363         (spi_bridge_window_event_listener): Silence warning.
2364
2365         * libspi/spi_private.[ch]:
2366         (spi_init_any_object): Change second parameter from CORBA_Object to
2367         CORBA_Object*.
2368         Omit call to CORBA_Object_duplicate(). 
2369         Set CORBA_any's _value to CORBA_Object*.        
2370
2371 2002-12-06  Bill Haneman  <bill.haneman@sun.com>
2372
2373         * configure.in:
2374         Revved to 1.1.6.
2375         
2376         * cspi/spi.h: 
2377         (AccessibleEvent_ref, AccessibleEvent_unref):
2378         New methods, for persisting an event outside the emission context.
2379         Must be used if the new accessor methods are to be called
2380         outside of the event listener's callback.
2381
2382         * cspi/bonobo/cspi-bonobo.c:
2383         (cspi_dup_ref): Pass 'ev' to bonobo_object_dup_ref
2384         as second parameter instead of NULL, so we can call
2385         cspi_check_ev afterwards.
2386         
2387         * cspi/spi_main.c:
2388         (cspi_object_take): New internal method, 
2389         converts a CORBA_Object reference to a hard ref on
2390         an Accessible if possible, returning NULL if the object
2391         reference is invalid or an Accessible * otherwise.
2392
2393         * cspi/spi_event.c:
2394         (AccessibleEvent_ref): 
2395         Increment the event's internal private refcount, and 
2396         add the event's internal struct to an internal cache 
2397         if it's not already there.
2398         (AccessibleEvent_unref): 
2399         Decrement the event's refcount and remove it from
2400         the cspi event cache if refcount==0.
2401         (cspi_event_compare): New private method.
2402         Compares two event structs via their ids. Used 
2403         for queue lookup.
2404         (cspi_internal_event_lookup): New private method.
2405         (cspi_internal_event_check): New private method,
2406         a 0-order sanity check for events to make sure their
2407         private data is intact.
2408         (cspi_internal_event_add, cspi_internal_event_remove):
2409         New private methods for managiing the event cache.
2410
2411         * cspi/bonobo/cspi-bonobo-listener.c:
2412         (cspi_event):
2413         Initialize the new private data elements (id, magic, ref_count).
2414         
2415         * atk-bridge/bridge.c:
2416         (spi_atk_bridge_signal_listener):
2417         Fixed bug #100530, passing wrong params to emission func.
2418
2419         * registryd/deviceeventcontroller.c:
2420         (spi_dec_button_update_and_emit): 
2421         Fixed type in mask bit operations; fix for #99799.
2422         
2423 2002-12-02  Bill Haneman  <bill.haneman@sun.com>
2424
2425         Removed some of the more dangerous workarounds from
2426         previous commit; they are only needed by GOK, which
2427         in reality should be using another method to accomplish
2428         the goals.  So on reconsideration some of the workarounds
2429         need to be reverted:
2430         
2431         * registryd/deviceeventcontroller.c:
2432         (spi_keycodes_contain, spi_dec_init_keycode_list): 
2433         Removed these methods, used only by a nasty hack to try
2434         and detect whether a key synthesis should be allowed
2435         to reset the XKB latch state or not. This code was only
2436         required to work around an interaction between GOK,
2437         button events, and XKB.
2438         (impl_generate_key_event):
2439         Removed hack at end of key generation that tried to
2440         "do the right thing" if XKB latch keys were generated
2441         in the midst of button press/release pairs.  
2442
2443         * configure.in:
2444         Added a check for HAVE_XINPUT.  Not normally used yet.
2445
2446 2002-11-25  Bill Haneman  <bill.haneman@sun.com>
2447
2448         Workarounds and fixes for mouse event/XKB interaction.
2449         
2450         * registryd/deviceeventcontroller.c:
2451         (spi_keycodes_contain, spi_dec_init_keycode_list): 
2452         New internal methods.
2453         (spi_dec_set_unlatch_pending):
2454         Split the method that tells XKB to expect an
2455         unlatch (and revert it) out of the rest of the
2456         event handling code.  This method is called by the
2457         two mouse event handlers (the poll and the filter).
2458         (spi_dec_update_and_emit, spi_dec_mouse_check): 
2459         New methods split from spi_dec_poll_mouse_moved.
2460         The second one is now called from inside the filterFn
2461         when an XKB delatch event is received, to determine 
2462         whether to revert the delatch or not.
2463         (spi_poll_mouse_moved): Refactor; also we can now
2464         properly handle the case where multiple button states
2465         have changed between polling cycles and we didn't get
2466         notified due to another client's grab.
2467         (global_filter_fn): 
2468         Synchronize the server while handling an XKB notification.
2469         Ugly, but apparently necessary to avoid nasty races.
2470         Check the mouse state on receipt of an XKB latch change,
2471         to decide whether to revert the latch or not. (Latches are
2472         reverted if there is an immediately preceding mouse button
2473         event that a client has consumed, in which case we don't want
2474         the user to see the side-effect of the event).
2475         (spi_device_event_controller_forward_mouse_event):
2476         Check for modifier events and fire before resetting mouse_mask_state,
2477         prevents losing modifier events.
2478
2479         (impl_generate_keyboard_event):
2480         If we've just generated a keyboard event for a non-shift key,
2481         we don't want to revert the pending XKB latch. 
2482         Otherwise, check the modifier state (via a call to 
2483         spi_dev_mouse_check) and set the relatch mask to 
2484         that state before returning.
2485         
2486 2002-11-24  Bill Haneman  <bill.haneman@sun.com>
2487
2488         * NEWS: 
2489         Updated NEWS (accidentally didn't make it into 1.1.5 tarball,
2490         retagged).
2491         
2492         * atk-bridge/bridge.c:
2493         (spi_atk_register_event_listeners):
2494         Don't re-register for ATK events if the registry has died
2495         and the app needs to re-register; the ATK listeners are in
2496         process and doing so will cause duplicate emission.
2497
2498         * registryd/deviceeventcontroller.c:
2499         (spi_poll_mouse_moved):
2500         Reformat the source, detect and emit multiple button-change
2501         events (i.e. if multiple buttons have changed between poll
2502         intervals).
2503         Add code to detect mouse-down events even when the pointer
2504         is grabbed; workaround for GOK bug 98420.
2505         (spi_controller_register_with_devices):
2506         Call XTestGrabControl with 'impervious' flag set to True,
2507         allows us to synthesize events and query the pointer even during
2508         an active grab by another client.
2509         (spi_device_event_controller_forward_mouse_event):
2510         Set the mouse_mask_state to the mouse_button_state from
2511         the intercepted event, to synchronize the grab listener with
2512         the poll state.
2513         
2514 2002-11-20  Bill Haneman  <bill.haneman@sun.com>
2515
2516         * cspi/spi_accessible.c:
2517         (AccessibleRole_getName):
2518         Added necessary strings for making this (deprecated) 
2519         method work with the new role types. 
2520         (init_role_table, role_table):
2521         Added definition of SPI_ROLE_APPLICATION.
2522
2523         * libspi/spi-roletypes.h:
2524         Added SPI_ROLE_APPLICATION.
2525
2526         * idl/Accessibility_Role.idl:
2527         Added ROLE_APPLICATION. 
2528
2529         * docs/reference/cspi/at-spi-cspi-decl.txt:
2530         Added SPI_ROLE_APPLICATION to docs.
2531
2532 2002-11-20  Padraig O'Briain  <padraig.obriain@sun.com>
2533
2534         * cspi/spi_accessible.c
2535         (cspi_init_role_table): Do not write beyond end of role_table.
2536         (Accessible_getRole): Use correct type for value returned by
2537         Accessibility_Accessible_getRole().
2538
2539         * libspi/accessible.c (spi_init_role_lookup_table): Do not write
2540         beyond end of role_table. (This fixes bug #98269)
2541
2542         * libspi/application.c: Add include file spi-private.h for 
2543         definition of spi_init_any_nil.
2544
2545 2002-11-19 Bill Haneman <bill.haneman@sun.com>
2546
2547         FIX for bug 99024.
2548         
2549         * libspi/spi-private.h:
2550         Added DGB() macro, and extern int _dbg declaration.
2551         
2552         * registryd/registry.c:
2553         (definitions) storage for _dbg.
2554         (spi_registry_init):
2555         Get environment variable "AT_SPI_DEBUG".
2556         (spi_registry_set_debug):
2557         New method, to initialize _dbg value.
2558         (spi_listener_struct_new, spi_registry_object_finalize):
2559         (notify_listeners_cb):
2560         Changed fprintfs to use DBG and g_warning().
2561
2562         * registryd/deviceeventcontroller.c:
2563         (_deregister_keygrab, spi_controller_register_device_listener):
2564         Changed debug/warning messages to use DBG macro.
2565
2566         * libspi/listener.c:
2567         (impl_notify_event):
2568         Changed warning messages to use DBG macro and g_warning().
2569
2570         * atk-bridge/bridge.c:
2571         (atk_bridge_init, spi_atk_bridge_get_registry):
2572         (spi_atk_bridge_exit_func):
2573         (spi_atk_bridge_property_event_listener):
2574         Changed status, warning, and error messages to use
2575         g_warning, g_message, and DBG macros.
2576
2577         (atk_bridge_init):
2578         Read the state of the AT_SPI_DEBUG environment variable
2579         and set a local '_dbg' accordingly.
2580         
2581 2002-11-19 Bill Haneman <bill.haneman@sun.com>
2582
2583         FIXES for 98836, 98842, other bugs.
2584         
2585         * configure.in:
2586         Revved to 1.1.4, interface-age=4, binary-age=4.
2587
2588         * registryd/deviceeventcontroller.c:
2589         (statics):
2590         Fixed crasher bug in last_mouse_pos initialization.
2591
2592         * registryd/registry.c:
2593         (desktop_add_application, desktop_remove_application):
2594         Added (and then commented out) some support for
2595         object context marshalling. [TODO]
2596
2597         * atk-bridge/bridge.c:
2598         (spi_atk_bridge_event_context_create):
2599         Commented out object context creation until it can
2600         be properly tested and debugged.
2601
2602         * registryd/registry.c:
2603         (impl_registry_notify_event):
2604         Fixed crasher bug, we were calling 
2605         spi_re_entrant_list_foreach () with an empty list.
2606
2607 2002-11-18  Bill Haneman <bill.haneman@sun.com>
2608         
2609         * idl/Accessibility_Action.idl:
2610         * idl/Accessibility_Component.idl:
2611         * idl/Accessibility_Desktop.idl:
2612         * idl/Accessibility_Event.idl:
2613         * idl/Accessibility_Hyperlink.idl:
2614         * idl/Accessibility_Image.idl:
2615         * idl/Accessibility_Relation.idl:
2616         * idl/Accessibility_Selection.idl:
2617         * idl/Accessibility_State.idl:
2618         * idl/Accessibility_Value.idl:
2619         Updated unimplemented slot count to minimum of
2620         four for all interfaces, for ABI freeze. 
2621
2622         * idl/Accessibility_EditableText.idl:
2623         * idl/Accessibility_Text.idl:
2624         Updated unimplemented slot count to six
2625         for ABI freeze. 
2626         
2627         * idl/Accessibility_Registry.idl:
2628         Updated unimplemented slot count to six
2629         (also for DeviceEventController), 
2630         for ABI freeze. 
2631
2632         * idl/Accessibility_Table.idl:
2633         Updated unimplemented slot count to eight,
2634         for ABI freeze. 
2635
2636         * idl/Accessibility_Event.idl:
2637         Added CORBA_any "any_data" member to Event struct.
2638
2639         * idl/Accessibility_Event.idl:
2640         Added CORBA_any "any_data" member to Event struct.
2641
2642         * atk-bridge/bridge.c:
2643         (statics):
2644         atk_signal_text_changed, atk_signal_child_changed,
2645         signal ids queried from gtype system.
2646         (AtkBridgeEventContextType): New enum.
2647         (AtkBridgeEventContextData): New struct.
2648         (AtkBridgeEventContext): New struct.
2649         (atk_bridge_init_event_type_consts):
2650         New method, initializes type contants for comparison 
2651         prior to emit_eventv.
2652         (atk_bridge_event_context_init): New method,
2653         initializes a CORBA_any from an AtkBridgeEventContext.
2654         (atk_bridge_focus_tracker): Call spi_init_any_nil to
2655         initialize the event.any_data struct.
2656         (spi_atk_bridge_event_context_create): New method,
2657         creates an AtkBridgeEventContext from signal/event info.
2658         (spi_atk_bridge_event_context_free): New method.
2659         (spi_atk_emit_eventv): Changed to take an 
2660         AtkBridgeEventContext parameter. We now initialize
2661         the event.any_data member prior to notifying the 
2662         Registry, via the AtkBridgeEventContext.
2663         (spi_atk_bridge_property_event_listener):
2664         (spi_atk_bridge_state_event_listener):
2665         Match emit_eventv signature.
2666         (spi_atk_bridge_object_event_listener):
2667         Match emit_eventv signature, and create an
2668         event context from the event details.
2669         Free the event context afterwards.
2670         (spi_atk_bridge_window_event_listener):
2671         Create an event context, pass it to the
2672         emit_eventv call.
2673         
2674         * cspi/spi_event.c:
2675         (AccessibleEvent_getContextString):
2676         (AccessibleEvent_getContextObject):
2677         New methods, allow query of AccessibleEvent objects
2678         for more context details (via the "any_data" member 
2679         of the Event struct, above).
2680         
2681         * cspi/spi.h:
2682         Definitions for AccessibleEvent_getContextString
2683         and AccessibleEvent_getContextObject.
2684
2685         * cspi/spi_listener.h:
2686         (InternalEvent): New struct.
2687
2688         * cspi/spi_event.c:
2689         (AccessibleEvent_getContextString):
2690         (AccessibleEvent_getContextObject):
2691         Implementations of new methods, for obtaining
2692         additional context information from some event types.
2693
2694         * cspi/spi_registry.c:
2695         (SPI_registerGlobalEventListener):
2696         Added mention of active-descendant-changed event in docs.
2697
2698         * cspi/cspi-bonobo-listener.c:
2699         (cspi_event):
2700         Marshal the any into the AccessibleEvent via
2701         InternalEvent.
2702         
2703         * libspi/spi-private.h:
2704         #include <orbit/orbit.h>
2705         (spi_init_any_nil):
2706         (spi_init_any_string):
2707         (spi_init_any_object):
2708         New convenience function declarations.
2709
2710         * libspi/util.c:
2711         (spi_init_any_nil):
2712         (spi_init_any_string):
2713         (spi_init_any_object):
2714         New convenience function implementations.
2715
2716         * registryd/deviceeventcontroller.c:
2717         (spi_poll_dec_mouse_moved):
2718         (spi_device_event_controller_forward_mous_event):
2719         Initialize any_data member of event.
2720         (spi_deregister_controller_device_listener):
2721         Fix incorrect param pass which was preventing deregistration.
2722
2723         * registryd/registry.c:
2724         (desktop_add_application):
2725         (desktop_remove_application):
2726         Add object data to event's any_data before dispatch.
2727         (parse_event_type):
2728         Fix for error messages from GAIL.
2729         
2730         * test/event-listener-test.c:
2731         Test new ContextString and "any_data" API:
2732         (report_text_event): New method query and output context string.
2733         (main): register a new text listener with report_text_event
2734         callback.
2735
2736 2002-11-19  Darren Kenny  <darren.kenny@sun.com>
2737
2738         Fixes for bugs 98127 and 97914.
2739         * cspi/spi-roletypes.h:
2740         Added SPI_ROLE_HEADER, SPI_ROLE_FOOTER, SPI_ROLE_PARAGRAPH,
2741         SPI_ROLE_RULER
2742         * cspi/spi-statetypes.h:
2743         Added SPI_STATE_MANAGES_DESCENDANTS
2744         * cspi/spi.h:
2745         Added SPI_RELATION_FLOWS_TO, SPI_RELATIONS_FLOWS_FROM,
2746         SPI_RELATION_SUBWINDOW_OF, SPI_RELATION_EMBEDS, SPI_RELATION_EMBEDDED_BY
2747         * cspi/spi_accessible.c:
2748         Added mapping in role_table from new Accessibility_ROLE_* to SPI_ROLE_*
2749         Added mapping from SPI_STATE_MANAGES_DESCENDANTS to 
2750         Accessibility_STATE_MANAGES_DESCENDANTS
2751         * libspi/accessible.c:
2752         Added Mapping from ATK_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} to
2753         Accessibility_ROLE_{FOOTER,HEADER,PARAGRAPH,RULER} 
2754         As requested by Bill, I also cleaned up the alignment.
2755         * libspi/relation.c:
2756         Added mapping of the ATK_RELATION_{FLOWS_TO,FLOWS_FROM,SUBWINDOW_OF,
2757         EMBEDS,EMBEDDED_BY} to equivalend Accessibility_RELATION_*
2758         * libspi/stateset.c:
2759         Added mappings between ATK_STATE_MANAGES_DESCENDANTS and
2760         Accessibility_STATE_MANAGES_DESCENDANTS
2761         * docs/reference/cspi/tmpl/spi_accessible.sgml:
2762         Document changes reflecting modifications to roles.
2763         * docs/reference/cspi/tmpl/spi_relation.sgml:
2764         Document changes reflecting modifications to relations.
2765         * docs/reference/cspi/tmpl/spi_stateset.sgml:
2766         Document changes reflecting modifications to states.
2767
2768 2002-11-17  Bill Haneman <bill.haneman@sun.com>
2769
2770         * configure.in:
2771         Revved to 1.1.3, interface-age=3, binary-age=3.
2772         Added REBUILD macro.
2773
2774         * test/Makefile.am:
2775         Removed accessx-gui from the tests, since we have a nice
2776         keyboard accessibility capplet now :-)
2777
2778         * test/keysynth-demo.c:
2779         (increment_scan): removed do-nothing default: case,
2780         silences warning.
2781
2782         * test/visual-bell.c:
2783         (main) : removed do-nothing default: case, 
2784         silences warning.
2785
2786         * cspi/spi_action.c:
2787         (AccessibleAction_getKeyBinding_): 
2788         Documented keybinding string format.
2789         FIX for bug 97916.
2790
2791         * cspi/spi_text.c:
2792         (AccessibleText_getAttributes):
2793         Documented the text attribute string format.
2794         It's changed to use semicolon delimiters also,
2795         to prevent clashes with CSS attributes, but the old
2796         trick of looking for ", " strings will still work
2797         (as unreliably as ever).  Fix for bug related to 97916.
2798
2799         * cspi/spi_event.c:
2800         Include <cspi/bonobo/cspi-bonobo-listener.h>
2801         Fixes build warning.
2802         (SPI_freeAccessibleKeySet):
2803         (AccessibleKeystrokeListener_addCallback):
2804         (AccessibleKeystrokeListener_removeCallback):
2805         Modify to use AccessibleDeviceListener API internally,
2806         instead of AccessibleKeystrokeListener.
2807         
2808         * idl/Accessibility_Event.idl:
2809         Added two more empty slots to EventListener (for a total of four).
2810
2811         * idl/Accessibility_Accessible.idl:
2812         Added four empty slots to Accessible interface.
2813
2814 2002-11-15  Bill Haneman <bill.haneman@sun.com>
2815
2816         * idl/Accessibility_Registry.idl:
2817         (KeyEventType, EventType):
2818         Marked KeyEventType as deprecated; it duplicates
2819         functionality of EventType, which has been extended to
2820         include Mouse-button events.
2821         (KeyEventTypeSeq): defined in terms of EventType.
2822         (registerDeviceEventListener, deregisterDeviceEventListener):
2823         New methods, for managing listeners to device events,
2824         which potentially may consume them.     
2825         
2826         * cspi/spi-impl.h:
2827         Added definition for AccessibleDeviceListener.
2828
2829         * cspi/spi-listener.h:
2830         (enum AccessibleDeviceEventType):
2831         Added SPI_BUTTON_PRESSED and SPI_BUTTON_RELEASED.
2832         Typedef'd AccessibleKeyEventType to AccessibleDeviceEventType
2833         for backwards compat.
2834         (AccessibleKeystroke): Renamed AccessibleKeystroke to AccessibleDeviceEvent,
2835         and typedef'd AccessibleKeystroke to it for back-compat.
2836         (AccessibleDeviceListenerCB):
2837         New function prototype typedef.
2838
2839         * cspi/spi.h:
2840         (AccessibleDeviceEventMask): New typedef.
2841         (AccessibleModifierMaskType): New typedef (renamed from AccessibleKeyMaskType).
2842         (AccessibleKeyMaskType): 
2843         Set equivalent to AccessibleModifierMaskType for back-compat.   
2844         (SPI_createAccessibleKeystrokeListener):
2845         (AccessibleKeystrokeListener_unref):
2846         Deprecated in favor of equivalent (better-named) new API below..
2847         keystroke listeners are like all device listeners.
2848         (SPI_createAccessibleDeviceListener, AccessibleDeviceListener_unref)
2849         New API names for old features :-).
2850         (AccessibleDeviceListener_addCallback):
2851         (AccessibleDeviceListener_removeCallback): 
2852         (SPI_registerDeviceEventListener): 
2853         (SPI_deregisterDeviceEventListener): 
2854         New methods.
2855         
2856         * cspi/spi_event.c:
2857         (SPI_createAccessibleKeystrokeListener):
2858         Use new preferred API, cspi_device_listener_new() and
2859         cspi_device_listener_add_cb().
2860         (AccessibleKeystrokeListener_removeCallback):
2861         Use new preferred API, cspi_device_listener_remove_cb().
2862         (AccessibleKeystrokeListener_unref):
2863         Use new preferred API, cspi_device_listener_unref().
2864         (SPI_createAccessibleDeviceListener):
2865         (AccessibleDeviceListener_addCallback):
2866         (AccessibleDeviceListener_removeCallback):
2867         Implementation of new API.
2868
2869         * cspi/spi_registry.c:
2870         (SPI_registerDeviceEventListener):
2871         (SPI_deregisterDeviceEventListener):
2872         Implementation of new API.  Fixed memory leak and removed need to
2873         allocate EventTypeSeq (thanks Michael for catching this).
2874         Squashed a wayward CORBA_exception_free that shouldn't get called.
2875
2876         * cspi/bonobo/cspi-bonobo-listener.c:
2877         (EventHandler):
2878         Changed union (bin-and-api-compatibly) to refer to AccessibleDeviceListenerCB.
2879         (cspi_key_event): renamed to cspi_device_event().
2880         Internal use of CSpiKeystrokeListener changed to CSpiDeviceListener.
2881         Extended to handle mouse button events as well as key events.
2882         (CSpiKeystrokeListener):
2883         Class superceded by CSpiDeviceListener.
2884         (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
2885         These internal APIs changed to "*device_listener" from "*keystroke_listener".
2886
2887         * cspi/bonobo/cspi-bonobo-listener.h:
2888         (CSpiKeystrokeListener):
2889         Class superceded by CSpiDeviceListener.
2890         (cspi_keystroke_listener_add_callback, cspi_keystroke_listener_get_corba):
2891         These internal APIs changed to "*device_listener" from "*keystroke_listener".
2892
2893         * libspi/Makefile.am:
2894         Replaced keystrokelistener.h and keystrokelistener.c
2895         with devicelistener.h and devicelistener.c; keystrokelisener.h
2896         stub retained for back-compat.
2897
2898         * libspi/keystrokelistener.c:
2899         Removed file.
2900
2901         * libspi/libspi.h:
2902         Replaced inclusion of keystrokelistener.h with devicelistener.h.        
2903
2904         * registryd/deviceeventcontroller.c:
2905         (DEControllerListener): Added Accessibility_EventTypeSeq member.
2906         (DEControllerKeyListener): Removed Accessibility_KeyEventTypeSeq member.
2907         (DEControllerPrivateData): Added xkb settings data.
2908         (spi_dec_poll_mouse_moved): Changed to dispatch device events for
2909         button release events (which can't be captured via XGrabButton).
2910         Don't dispatch via the 'normal' event mechanism if the device event was
2911         consumed.
2912         (spi_dec_key_listener_new, spi_key_listener_clone, spi_key_listener_data_free):
2913         Handle the typeseq data in its new location (see above).
2914         (spi_dec_listener_new, spi_listener_clone, spi_listener_clone_free):
2915         New methods, for "generic" device listeners.
2916         (spi_controller_register_device_listener):
2917         Now handle mouse event listeners as well as key listeners.
2918         (spi_controller_notify_mouselisteners):
2919         New internal method.
2920         (spi_device_event_controller_forward_mouse_event):
2921         Now we notify mouse device listeners as well as generating the
2922         non-consumable "mouse:" events.  
2923         (global_filter_fn):
2924         We must check and restore the XKB
2925         modifier map if we consume the event, since the act of triggering
2926         a mouse event will normally reset the XKB latch.  This is required for 
2927         instance by GOK.
2928         (spi_controller_register_with_devices):
2929         Load the XKB settings when registering, and register for XKB 
2930         state notify events. 
2931         (spi_key_eventtype_seq_contains_event):
2932         Renamed spi_eventtype_seq_contains_event, since it's used
2933         internally for all device event types now.
2934         (spi_key_event_matches_listener):
2935         Uses spi_eventtype_seq_contains_event now.
2936         (spi_device_event_controller_object_finalize):
2937         Free the private data and the XkbKeyboard struct.
2938         (impl_register_device_listener, impl_deregister_device_listener):
2939         Implementation of new IDL.
2940         (spi_deregister_controller_device_listener):
2941         New internal method.
2942         (dec_xkb_get_slowkeys_delay dec_xkb_get_bouncekeys_delay):
2943         More efficient implementation, we don't have to create a new
2944         XkbControls structure every time we query.
2945         (spi_device_event_controller_class_init):
2946         Initialize the epv entries for the new IDL.  Assign the 
2947         "spi-dec-private" quark.
2948         (spi_device_event_controller_init):
2949         Initialize the private data.
2950         (spi_device_event_controller_forward_key_event):
2951         Removed a bogus CORBA_exception_free() call.
2952         
2953         * registryd/deviceeventcontroller.h:
2954         Replaced inclusion of keystrokelistener.h with
2955         devicelistener.h.
2956
2957         * test/event-listener-test.c:
2958         (report_mouse_event):
2959         New method.
2960         (main):
2961         Added mouse-event device listener.
2962
2963         * test/test-simple.c:
2964         (create_test_window):
2965         Fixed regression (we were instantiating a GtkRange,
2966         which is now an abstract class).  Also fixed to match
2967         existing AtkRole names, this seems to have changed in ATK
2968         awhile ago; too late now I think, and the new
2969         mechanism is at least elegant and consistent with the
2970         glib enum "nick" APIs.  
2971
2972 2002-11-15  Darren Kenny  <darren.kenny@sun.com>
2973
2974         * idl/Accessibility_Relation.idl:
2975         add RELATION_FLOWS_TO,RELATION_FLOWS_FROM,RELATION_SUBWINDOW_OF,
2976         RELATION_EMBEDS,RELATION_EMBEDDED_BY
2977         * idl/Accessibility_Role.idl:
2978         add ROLE_HEADER, ROLE_FOOTER, ROLE_PARAGRAPH, ROLE_RULER
2979         * idl/Accessibility_State.idl:
2980         add STATE_MANAGES_DESCENDANTS
2981         * test/event-listener-test.c:
2982         Added a listener for active-descendant events.
2983
2984 2002-11-15  Padraig O'Briain  <padraig.obriain@sun.com>
2985
2986         * atk-bridge/bridge.c
2987         (atk_bridge_init): If application is Bonobo component wait until top
2988         level is added before registering
2989         (spi_atk_bridge_do_registration): New function which contains code, 
2990         formerly in atk_bridge_init, to do application registration.
2991         (spi_atk_bridge_toplevel_added): Signal called when top level
2992         added to Bonobo component
2993
2994         This fixes bug #83134.
2995
2996 2002-10-23  Vitaly Tishkov  <tvv@sparc.spb.su>
2997
2998         * registryd/deviceeventcontroller.c
2999         Fixed compilation error caused by calling gettimeofday() 
3000         with 1 parameter
3001
3002 2002-10-18  Bill Haneman  <bill.haneman@sun.com>
3003
3004         BUGFIX for #95828.
3005
3006         * acconfig.h:
3007         Added template for HAVE_XKB.
3008         
3009         * configure.in:
3010         Changes to check for XKB, and to set the HAVE_XKB #define if it 
3011         is available.
3012         
3013         * libspi/listener.c:
3014         ()impl_notify_event): Make failure to get event source name
3015         nonfatal.
3016
3017         * registryd/deviceeventcontroller.c:
3018         (#include): include X11/XKBlib.h.
3019         (DEControllerPrivateData) : New struct.
3020         (dec_xkb_get_slowkeys_delay) (dec_xkb_get_boucekeys_delay) : 
3021         New methods.
3022         (dec_synth_keycode_press) (dec_synth_keycode_release):
3023         New methods; split the key synthesis code into these methods.
3024         They check XKB settings before determining the "time" values to
3025         pass to Xtest; this fixes bug #95828.
3026         (impl_generate_keyboard_event): Changed to use methods above,
3027         instead of callng Xtest directly.
3028         (spi_device_event_controller_init): Initialize new privae struct s
3029         above.
3030         (spi_device_event_controllr_object_finalize):
3031         Free the (new) private data.
3032
3033         * registryd/deviceeventcontroller.h:
3034         Add new gpointer to end of struct data.
3035
3036 2002-10-16  Bill Haneman  <bill.haneman@sun.com>
3037
3038         * configure.in:
3039         Incremented revision to 1.1.2, SONAME is still '.so', library
3040         extensions are ".so.0.0.2".
3041
3042         * registryd/deviceeventcontroller.c:
3043         FIXES FOR #93592 and #95940.
3044         (statics):  renamed mouse_button_state to mouse_mask_state, 
3045         added key_modifier_mask.
3046         (spi_dec_poll_mouse_moved): 
3047         Added key modifier checks, and emit "keyboard:modifiers"
3048         events when the key modifiers currently in use change.
3049         Also generate "mouse:abs" events periodically, even if the mouse
3050         is stationary (should we?).
3051         Alternatively we could generate "mouse:abs" events for either all
3052         mouse movements, or every 'nth' mouse movement, or at the
3053         beginning and end of every "active" mouse period.
3054         
3055         * test/event-listener-test.c:
3056         (main): Added listener for "keyboard:modifiers" events.
3057         
3058 2002-10-15  Bill Haneman  <bill.haneman@sun.com>
3059
3060         * libspi/keymasks.h:
3061         Added key mask #defines for mouse buttons; e.g.
3062         SPI_KEYMASK_BUTTON1, etc.
3063
3064         * configure.in:
3065         Incremented dependency on ATK to version 1.1.0. (This dependency
3066         is probably premature but will soon be real enough).
3067
3068 2002-10-11  Padraig O'Briain  <padraig.obriain@sun.com>
3069
3070         * libspi/hyperlink.[ch]
3071         (spi_hyperlink_new): Change parameter from AtkObject to AtkHyperlink.
3072         (get_hyperlink_from_servant): Check object is AtkHyperlink not 
3073         AtkObject.
3074
3075         * libspi/hypertext.c (impl_getLink): Remove cast of AtkHyperlink to
3076         AtkObject.
3077
3078         Fixes bug #95517.
3079
3080 2002-10-10  Padraig O'Briain  <padraig.obriain@sun.com>
3081
3082         * registryd/deviceeventcontroller.c
3083         (global_filter_fn): Correct typo which caused KeyPress and KeyRelease
3084         events to be ignored.
3085         (spi_controller_update_key_grabs): Use GrabModeSync for pointer_mode
3086         keyboard_mode so that XAllowEvents() can be called.
3087
3088         Fixes bug #93658.
3089
3090 2002-10-08  Padraig O'Briain  <padraig.obriain@sun.com>
3091
3092         * cspi/spi-accessible.c: Correct names of roles returned by
3093         AccessibleRole_getName(). Fixes bug #95055.
3094
3095 2002-10-03  Padraig O'Briain  <padraig.obriain@sun.com>
3096
3097         * cspi/spi_main.c (report_leaked_ref): Report address of leaked
3098         object.
3099
3100         * registryd/registry.c
3101         (desktop_remove_application: Write diagnostic message to stderr for
3102         consistency.
3103
3104         (impl_accessibility_registry_deregister_global_event_listener):
3105         Correct size of lists array. This addresses bug #94555).
3106
3107 2002-09-24  Padraig O'Briain  <padraig.obriain@sun.com>
3108
3109         * libspi/accessible.c (spi_init_role_lookup_table): Correct typos
3110         in some role names.
3111
3112 2002-09-19  Padraig O'Briain  <padraig.obriain@sun.com>
3113
3114         * registryd/Makefile: Add CLEANFILES so that .server file is removed
3115         on make clean
3116
3117         * registryd/registry.c (impl_registry_notify_event): Remove
3118         unnecessary call to parser_event_type().
3119
3120         * docs/reference/cspi/tmpl/spi_component.sgml:
3121         Add reference to SPI_LAYER_WINDOW.
3122
3123 2002-09-17  Padraig O'Briain  <padraig.obriain@sun.com>
3124
3125         * registryd/registry.c
3126         (desktop_add_application): Remove leak.
3127         (desktop_remove_application): Remove leak.
3128         (parser_event_type): Remove leak.
3129
3130 2002-09-16  Padraig O'Briain  <padraig.obriain@sun.com>
3131
3132         * registryd/deviceeventcontroller.c (spi_dec_mouse_moved): Removed
3133         bogus call to CORBA_string_dup(). Also removed unnecessary
3134         g_string_dup/g_free calls.
3135         
3136 2002-09-13  Bill Haneman <bill.haneman@sun.com>
3137
3138         * registryd/deviceeventcontroller.c:
3139         spi_dec_mouse_moved: Fixed memory leaks and reordered 2 code blocks.
3140
3141         * test/event-listener-test.c:
3142         main: commented out three redundant listeners, to reduce output
3143         noise. (They still are potentially useful for testing).
3144         
3145
3146 2002-09-13  Michael Meeks  <michael@ximian.com>
3147
3148         * Update all the copyrights to include Ximian.
3149
3150 2002-09-06  Mark McLoughlin  <mark@skynet.ie>
3151
3152         * cspi/spi.h: add SPI_LAYER_WINDOW.
3153
3154         * cspi/spi_component.c: (AccessibleComponent_getLayer):
3155         add Accessibility_LAYER_WINDOW case.
3156
3157         * idl/Accessibility_Component.idl: add LAYER_WINDOW.
3158
3159         * libspi/component.c: (impl_accessibility_component_get_layer):
3160         add ATK_LAYER_WINDOW case.
3161
3162 2002-08-28  Bill Haneman <bill.haneman@sun.com>
3163
3164         * configure.in: incremented micro version.
3165
3166         * branched for gnome-2-0 (a gnome-2-0-0 branch already exists).
3167
3168 2002-08-20  Bill Haneman <bill.haneman@sun.com>
3169
3170         * HACKING: 
3171         Clarified and reworded our commit policy.
3172
3173         * NEWS:
3174         Started an API "todo" addition list for 2.2.
3175
3176         * libspi/text.c:
3177         (impl_getSelection):
3178         Free char pointer from atk_text_get_selection, which was being leaked.
3179
3180 2002-08-19  Bill Haneman <bill.haneman@sun.com>
3181
3182         * AUTHORS: 
3183         Small revision to author acknowledgement.
3184
3185 2002-08-19  Padraig O'Briain  <padraig.obriain@sun.com>
3186
3187         * atk-bridge/bridge.c (spi_atk_bridge_signal_listener):
3188         If signal has detail add it to the type of the event.
3189         (bug #90838)
3190         
3191 2002-08-12  Michael Meeks  <michael@ximian.com>
3192
3193         * test/test-simple.c (global_listener_cb): bin bogosity.
3194         (test_keylisteners): disable, still doesn't work reliably,
3195         certainly not on my system anyway.
3196
3197         * atk-bridge/bridge.c (spi_atk_bridge_key_listener):
3198         don't leak a reference on the DEC. This round-trip
3199         fetching of the DEC per keystroke sucks, it should be
3200         cached.
3201
3202         * cspi/spi-private.h,
3203         * cspi/cspi-lowlevel.h,
3204         * cspi/bonobo/cspi-bonobo-listener.[ch],
3205         * cspi/bonobo/cspi-bonobo.c: get the copyright
3206         notices better - there is still a large amount of
3207         work in at-spi falsely attributed solely to Sun.
3208
3209         * cspi/spi_main.c (cspi_object_ref): kill bogus
3210         hash lookup, just increment the ref.
3211         (SPI_freeString): make explicit the fact that we
3212         handle NULL strings just fine.
3213         (report_leaked_ref): obey coding standards.
3214         (cspi_object_hash, cspi_object_equal): kill retval.
3215         (cspi_object_release): only release if not on loan.
3216         (cspi_object_get_ref): add 'loan' concept, bin 'do_ref'.
3217         (cspi_object_borrow, cspi_object_return): impl.
3218
3219         * cspi/bonobo/cspi-bonobo-listener.c (cspi_event):
3220         use cspi_object_borrow / return.
3221
3222 2002-08-12  Darren Kenny  <darren.kenny@sun.com>
3223
3224         * cspi/bonobo/cspi-bonobo-listener.c: 
3225         (cspi_event):
3226         Don't call cspi_oject_new() because this is creating a new Accessible
3227         every single time that an event is fired. This causes ATs like at-poke
3228         to nolonger recognise the source of the event and thus ignore it.
3229         Re-use the object from the cache, ref it and then unref it after the
3230         listeners have been called.
3231
3232 2002-08-06  Darren Kenny  <darren.kenny@sun.com>
3233
3234         * test/event-listener-test.c: 
3235         Added command-line options to disable mouse events (m) and
3236         show usage (h). 
3237
3238 2002-07-31  Padraig O'Briain  <padraig.obriain@sun.com>
3239
3240         * configure.in: Update required versions of ATK, GTK+ and GAIL
3241
3242         * cspi-1.0.pc.in: Add dependency for X include files
3243
3244         * cspi/Makefile.am:
3245         * cspi/bonobo/Makefile.am: 
3246         Add $(X_CFLAGS) so that X include files 
3247         are picked up even if not in standard place (bug #71686)
3248
3249 2002-06-25  Bill Haneman  <bill.haneman@sun.com>
3250
3251         * registryd/deviceeventcontroller.c: fix for 84261
3252         (spi_dec_mouse_moved):
3253         Added test of mouse button mask, so that we can detect mouse
3254         button release.  Unfortunately we can't otherwise detect mouse
3255         button release events without consuming the mouse press event,
3256         because of the way XGrabButton works.  This means that our mouse
3257         release events have a latency dependent on the polling period
3258         while the mouse button is down.  At least in this case we only
3259         have to poll while the button is down, and not at other times.
3260         If the button masks don't match with what the last press event
3261         reported, we report the appropriate button release event.
3262         (spi_dec_ungrab_mouse):
3263         New method (not yet called).
3264         (spi_device_event_controller_forward_mouse_event):
3265         New method, sends mouse press event from GdkFilter.
3266         (spi_dec_init_mouse_listener):
3267         Added code to call XGrabButton, redirecting mouse button events to
3268         the root window and our Gdk event loop.
3269         (global_filter_fn):
3270         Added code to filter mouse button events, and reordered.
3271         
3272         * test/event-listener-test.c:
3273         (main):
3274         Added registration for mouse events of type "mouse:button".
3275
3276 2002-06-25  Bill Haneman  <bill.haneman@sun.com>
3277
3278         * registryd/deviceeventcontroller.c: partial fix for 84261
3279         (spi_dec_poll_mouse_idle):
3280         New method, a timeout which checks to see if the mouse
3281         has moved.
3282         (spi_dec_poll_mouse_moving):
3283         A timeout to be called when mouse motion is underway.
3284         (spi_dec_poll_mouse_moved):
3285         A method which fires an event if the mouse has moved, and reports
3286         whether or not it did so. 
3287         (spi_dec_init_mouse_listener):
3288         A method which sets up the timeouts above.
3289         (spi_device_event_controller_new):
3290         Now calls spi_dec_init_mouse_listener.
3291
3292         * registryd/registry.c:
3293         (spi_registry_init):
3294         Now we initialize the device event controller when the registry is
3295         initialized, instead of waiting until a client has requested a key
3296         event notification; this is because we need the event controller
3297         for mouse events, but the mouse event registration API is a
3298         "registry" call and doesn't explicitly call the 
3299         deviceeventcontroller.
3300         We now report mouse motion events with a 100 ms idle latency and
3301         a 20 ms granularity when motion is in progress.
3302
3303         * test/event-listener-test.c:
3304         (main):
3305         We now register the "detail listener" for events of type 
3306         "mouse:rel" and "mouse:abs" (Note, mouse-abs events generally are
3307         delivered only for the first mouse event received, and thereafter
3308         "mouse:abs" events are delivered.)
3309
3310         * cspi/spi_registry.c:
3311         DOCS: Documented the above mouse event typestrings.
3312         
3313 2002-06-21  Bill Haneman  <bill.haneman@sun.com>
3314
3315         Happy Summer Solstice...
3316
3317         * registryd/deviceeventcontroller.c: [fix for bug 84100]
3318         (spi_controller_notify_keylisteners):
3319         Changes to remove a listener from the listener list, freeing its
3320         open keygrabs, if a notification to that listener fails.  This
3321         means that although a dead listener can continue to hold a passive
3322         keygrab, a maximum of one dispatch to such a listener can fail
3323         before the listener is removed from the list, thus the keygrab
3324         will be released on the next occurrence.
3325         As part of this fix:
3326         (spi_notify_keylisteners):
3327         Renamed to spi_controller_notify_keylisteners, as the controller
3328         instance must now be passed as an argument.
3329         The copied 'notify' GList is now a list of DEControllerKeyListener
3330         objects, since we need more than just the CORBA reference if a
3331         notify fails and we need to deregister the listener.
3332         (impl_notify_listeners_sync):
3333         (impl_notify_listeners_async):
3334         (spi_device_event_controller_forward_key_event):
3335         Modify use of notify_keylisteners in accordance with above
3336         changes.
3337         (spi_deregister_controller_key_listener):
3338         New method introduced by refactoring, from 
3339         impl_deregister_keystroke_listener.
3340         (impl_deregister_keystroke_listener):
3341         Call spi_deregister_controller_key_listener.
3342         (spi_key_listener_clone):
3343         New method to copy a key listner without doing a 'ref' on the
3344         remote object instance; used to create a notifier list.
3345         (spi_key_listener_data_free):
3346         New method, frees data without unreffing the source.
3347         Used in refactor.
3348         (spi_key_listener_clone_free): new method.
3349         (spi_key_listener_free): 
3350         refactored to call spi_key_listener_data_free.
3351         
3352 2002-06-20  Bill Haneman  <bill.haneman@sun.com>
3353
3354         * registryd/registry.c: [fix for bug 86048]
3355         (notify_listeners_cb):
3356         Clear CORBA system exceptions which occur when notifying
3357         listeners, before returning to the source of the original event,
3358         since the event source doesn't care if the relayed notify failed.
3359         In other words, don't complain to the atk-bridge if the registry
3360         could not notify all its listeners, that's no fault of the
3361         application and thus should not appear to be an error from the
3362         application's perspective.
3363         
3364         * cspi/spi_main.c: [fix for bug 85980]
3365         (cspi_object_ref):
3366         Replaced use of bonobo_object_dup_ref with call to the wrapper
3367         method, csou_dup_ref (); this silences a compiler warning and
3368         provided more portability.
3369         (cspi_registry):
3370         Ping the registry before return, and restart if necessary.
3371
3372         * cspi/bonobo/cspi-bonobo.c:
3373         (cspi_ping):
3374         New internal method.
3375         (cspi_dup_ref):
3376         Fixed this method to return an object reference, as it should have
3377         all along.
3378
3379         * cspi/cspi-lowlevel.h:
3380         Added internal definition for cspi_ping() and fixed 
3381         return type of cspi_dup_ref().
3382         
3383
3384 2002-06-19  Bill Haneman  <bill.haneman@sun.com>
3385
3386         * atk-bridge/bridge.c:  [fix for bug 85305]
3387         (spi_atk_bridge_register_application):
3388         New method where the initial application registry calls have been
3389         moved; it allows an application to re-register in response to
3390         certain error conditions (such as a registry restart, see below).
3391         (atk_bridge_init):
3392         Moved some initialization code to the method
3393         spi_atk_bridge_get_registry, below.
3394         (spi_atk_bridge_get_registry):
3395         New, private accessor function for the Accessibility_Registry
3396         instance.  If the registry has not been started before, or has
3397         died (as detected by failure of a CORBA exception), it is
3398         restarted before return, and spi_atk_bridge_register_application
3399         is called again to register with the new bridge instance.
3400         (spi_atk_emit_eventv):
3401         Set registry_died on error; use spi_atk_bridge_get_registry () to
3402         access the registry.
3403         
3404         * registryd/registry.c:
3405         (impl_accessibility_registry_register_global_event_listener):
3406         Set listener's event_type_quark to etype.minor instead of
3407         etype.major (fix for bug 84856).
3408
3409         * test/event-listener-test.c:
3410         (report_detail_event):
3411         Change the output string so that user/tester can tell that the
3412         'detail listener' was called instead of the 'generic listener'.
3413         
3414 2002-06-18  Bill Haneman  <bill.haneman@sun.com>
3415
3416         Fixes for bugs 84900, 84908, 84897, 84898.
3417
3418         * NEWS: updated.
3419         
3420         * configure.in:
3421         Revved version to 1.1.0 
3422         (reserving the 1.0.X branch for gnome-2-0-0 branch, this
3423         version is going to HEAD which will be used for gnome-2-0-1 and later.)
3424         
3425         * idl/Accessibility_Registry.idl:
3426         (EventListener::notifyEvent):
3427         Removed 'oneway' directive after extensive consulation with
3428         ORBit2 team and others.  This means also that unref() of the event
3429         source can and should be done synchronously after emission, rather
3430         than remotely in the client, after servicing the notify call on
3431         the listener side.
3432
3433         NOTE: This change speeds up listener performance considerably, but
3434         introduces new latency on the application side.  We may want to
3435         add an event queue to the atk-bridge.
3436
3437         * atk-bridge/bridge.c:
3438         (spi_atk_bridge_focus_tracker):
3439         Do a local unref() on the event source after emission.
3440         
3441         * registryd/registry.c:
3442         (desktop_remove_application):
3443         Do an unref() on the event source after emission.
3444         (desktop_add_application):
3445         Do an unref() on the event source after emission.
3446         (notify_listeners_cb):
3447         When relaying an event, don't automatically add the event source
3448         to the local object cache, just CORBA_dup it instead.  Likewise,
3449         if this method reenters, release the ref rather than calling
3450         unref() as well.
3451         (impl_registry_notify_event):
3452         No longer call remote unref() on the event source after dispatch.
3453
3454         * libspi/eventlistener.c:
3455         (impl_accessible_event_notify_event):
3456         Removed remote unref ()
3457         
3458         * cspi/bonobo/cspi-bonobo-listener.c:
3459         (cspi_event):
3460         We now call cspi_object_new() instead of cspi_object_add() on
3461         receipt of an event; thus we only have an implicit object ref
3462         while the cspi_event method is being executed.  If we need to keep
3463         a reference to the object, the listener must call ref() on the
3464         object.  Thus also we don't need to call cspi_object_unref() after
3465         invoking the listener callbacks in this method.
3466         
3467         * cspi/spi_main.c:
3468         (cspi_object_new):
3469         New internal API for creating a new cspi object, without adding it
3470         to the object cache.
3471         (cspi_object_add):
3472         Now uses cspi_object_new() to create the cspi object instance.
3473         (cspi_object_ref):
3474         Now checks to see if the object is in the internal object cache,
3475         and adds it if necessary before incrementing its refcount (note
3476         that new objects are added with a refcount of 1).
3477         (report_leaked_ref):
3478         New method which gives some information on leaked object instances
3479         if leak detection is turned on.
3480
3481         * test/event-listener-test.c:
3482         (timing_test_event):
3483         New method, used for testing event delivery timing for special
3484         events of type "object:test".  It reports elapsed time and
3485         events/sec every 500 events.
3486         (main):
3487         Added a new listener, 'test listener', to check timing of event
3488         receipt as noted above.
3489         (report_event):
3490         Added some timing output here also, reports elapsed time every 100
3491         events.
3492
3493         * test/stress-test.c:
3494         Emit events of type "object:test", for use with "event-listener-test".
3495
3496         * test/test-simple.c:
3497         (global_listener_cb):
3498         Call Accessible_ref() on the event source before calling
3499         validate_accessible, since the validation process does pointer
3500         comparisons on the event source, meaning that the event source
3501         needs to be added to the local object cache first.  Any use of
3502         such pointer comparisons between Accessible objects requires that
3503         the caller hold an explicit reference to those objects.
3504         We also must therefore call Accessible_unref() when leaving this method.
3505
3506 2002-06-13  Bill Haneman  <bill.haneman@sun.com>
3507
3508         * registryd/deviceeventcontroller.c:
3509         (spi_controller_update_key_grabs):
3510         Fix for #84735, subsequent keygrab listeners not informed of
3511         registration failure.
3512
3513         * libspi/base.c:
3514         (spi_base_construct):
3515         Add an assertion on construct, to make sure the GObject passed in
3516         is really a GObject.
3517         (spi_base_init):
3518         Explicitly initialize object->gobj pointer to NULL;
3519
3520         * cspi/bonobo/cspi-bonobo-listener.c:
3521         (cspi_object_add_ref):
3522         New method, can specify whether to dup-ref a bonobo object passed
3523         in if it's newly added to the object cache.
3524         (cspi_object_add):
3525         Now calls cspi_object_add_ref with second param of "FALSE".  This
3526         prevents us from doing a pointless dup-ref followed by
3527         release-unref for all those cases where the object is already in
3528         our object cache (fix for #85205).
3529
3530         * atk-bridge/bridge.c:
3531         (spi_atk_bridge_idle_init):
3532         Removed this method, we don't need to initialize in an idle
3533         handler anymore;
3534         (atk_bridge_init):
3535         Changed to call spi_atk_register_event_listeners directly, not via an
3536         idle handler. (fix for #81139)
3537         (gnome_accessibility_module_shutdown):
3538         Removed conditional around deregistration of listeners, since we
3539         don't use the idle handler and thus have always registered when
3540         shutdown is called.
3541         (spi_init_keystroke_from_atk_key_event):
3542         Changed references to Accessibility_KEY_PRESSED to 
3543         Accessibility_KEY_PRESSED_EVENT, etc. (fix for #79865).
3544         
3545 2002-06-12  Bill Haneman  <bill.haneman@sun.com>
3546
3547         (TAGGED AND BRANCHED for gnome-2-0-0 after this commit)
3548         
3549         * configure.in:
3550         Revved to 1.0.1
3551
3552         * test/stress-test.c:
3553         Added file.
3554
3555         (may have been an incomplete commit yesterday?)
3556
3557 2002-06-12  Bill Haneman  <bill.haneman@sun.com>
3558
3559         * test/Makefile.am:
3560         Added target for new stress-test.
3561         
3562         * test/stress-test.c:
3563         New test, sends 1000 focus notifies in quick succession.
3564
3565         * test/key-listener-test.c:
3566         Now we report whether a keylistener registration
3567         request succeeded or failed.
3568
3569         * test/event-listener-test.c:
3570         Uncommented some listeners which are now implemented.
3571
3572
3573 2002-06-06  Bill Haneman  <bill.haneman@sun.com>
3574
3575         * registryd/deviceeventcontroller.c:
3576         (spi_controller_update_key_grabs):
3577         Fix for #82509, lack of failure notification when
3578         ALL_WINDOWS keygrabs fail due to XGrabKey
3579         failure: we synchronize the server when 
3580         registering a passive grab, to make sure we get the
3581         error message before the call returns.
3582
3583 2002-06-03  Bill Haneman  <bill.haneman@sun.com>
3584
3585         * test/test-simple.c:
3586         (key_listener_cb):
3587         Removed #ifdef KEY_IMPL_WORKS guards.
3588         (test_keylisteners):
3589         Removed #ifdef KEY_IMPL_WORKS guards.
3590         Fixed bug which was causing a hang waiting for a 
3591         "press" event (which was already overwritten by a "release" 
3592         event) from SPI_generateKeyboardEvent with synth-type of SPI_KEY_SYM.
3593         (key_listener_cb):
3594         Added code to set globals 'key_press_received' and
3595         'key_release_received'.
3596
3597         * TODO:
3598         Added section "1.1 API Proposed Additions" which
3599         lists API additions desired for at-spi-1.1 (only one so far).
3600         Updated TODO list a little.
3601         
3602 2002-06-02  Bill Haneman  <bill.haneman@sun.com>
3603
3604         AT-SPI 1.0 API FINAL: at-spi 1.0 is now
3605         API frozen.
3606         
3607         * configure.in: Revved to 1.0.0.
3608
3609         * idl/Accessibility_Registry.idl:
3610         (registerKeystrokeListener):
3611         Added boolean return value.
3612         
3613         * registryd/registry.c:
3614         (notify_listeners_cb): Minor fix to debug output.
3615
3616         * registryd/Accessibility_Registry.server.in.in:
3617         Revved version number in OAFIID to 1.0.
3618
3619         * registryd/registryd.c:
3620         (main):
3621         Use new OAFIID version.
3622
3623         * cspi/bonobo/cspi-bonobo.c:
3624         (cspi_init):
3625         Use new OAFIID version.
3626
3627         * test/at.c:
3628         (main):
3629         * test/app.c:
3630         (main):
3631         * atk-bridge/bridge.c:
3632         (atk_bridge_init):
3633         Use new OAFIID version.
3634
3635         * registryd/deviceeventcontroller.c:
3636         (impl_register_keystroke_listener):
3637         Added CORBA_boolean return value.
3638         (spi_controller_register_device_listener):
3639         Added gboolean return value.
3640         (spi_controller_register_global_keygrabs):
3641         Added gboolean return value.
3642         (spi_key_set_contains_key):
3643         Added implementation for many more control keys,
3644         for instance F1-F12, arrow keys, End, Home, Page_Up,
3645         Page_Down, Escape.
3646         [TODO: some still not implemented]. 
3647         
3648         * text/screen-review-test.c:
3649         (text_chunk_pad_string):
3650         New function: it provides mapping between coordinate
3651         positions of text chunks and character positions in the
3652         screen-review-line output string.
3653         (text_chunk_to_string):
3654         New function, calls text_chunk_pad_string with various
3655         pad/delimiter characters. Pushbuttons are delimited with
3656         square brackets, Frames with vertical 'pipe' lines, and 
3657         other text with double quotes.
3658         (text_chunk_list_to_string):
3659         Calls new function text_chunk_to_string.
3660         (toplevel_composite):
3661         New function to composite layers CANVAS through
3662         POPUP in each toplevel (other layers are composited
3663         across toplevels, i.e. BACKGROUND and OVERLAY).
3664         (review_buffer_composite):
3665         Revise to use new methods.
3666         
3667         
3668         
3669         
3670
3671 2002-05-31  Laszlo Peter  <laca@sun.com>
3672
3673         * configure.in: add the Xtst libdir to the runpath on Solaris,
3674         since it's not in the default library search path.
3675
3676 2002-05-29  jacob berkman  <jacob@ximian.com>
3677
3678         * registryd/Makefile.am (EXTRA_DIST): dist the .in.in
3679
3680 2002-05-29  Bill Haneman  <bill.haneman@sun.com>
3681
3682         * test/screen-review-test.c:
3683         (text_chunk_pad_string):
3684         Added method, which pads the string according to the 
3685         text bounds of the chunk.  It also takes a 3-character
3686         string as a param which indicates the characters to be 
3687         used for start, padding, and end delimitation of the chunk.
3688         (text_chunk_to_string):
3689         Changed to use text_chunk_pad_string.
3690         
3691         * configure.in: Fixed bug in AC_OUTPUT that was
3692         causing path substitution in Accessibility_Registry.server
3693         to fail.
3694
3695 2002-05-23  Bill Haneman  <bill.haneman@sun.com>
3696
3697         * text/screen-review-test.c:
3698         (guess_string_clip):
3699         New method which attempts a best-guess at clipping
3700         text from components (like Java labels) which don't
3701         actually implement AccessibleText.  This inaccurate
3702         clip is based on the assumption that the label is
3703         justified left-and-right, and monospaced.
3704         (text_chunk_get_clipped_string):
3705         We now call guess_string_clip() for text-containing
3706         components that don't implement AccessibleText.
3707
3708         * test/screen-review-test.c:
3709         (review_buffer_get_text_chunk):
3710         We now pull "name" from labels if they do not implement
3711         AccessibleText (i.e. for Java labels).
3712         (get_screen_review_line_at):
3713         Added #ifdef guards CHUNK_LIST_DEBUG for diagnostics.
3714
3715         * configure.in:
3716         Replaceded AC_OUTPUT target
3717         registryd/Accessibility_Registry.server with 
3718         registryd/Accessibility_Registry.server.in.
3719
3720         * registryd/Accessibility_Registry.server.in:
3721         Removed (this is now a Makefile target).
3722
3723         * registryd/Accessibility_Registry.server.in.in:
3724         Added (source for target above).  We now use $(libexecdir) as
3725         prefix for the executable at-spi-registryd.
3726
3727         * registry/Makefile.am: 
3728         Now install at-spi-registryd into $(libexecdir), and build .server
3729         file with path (see above).
3730         
3731 2002-05-22  Bill Haneman  <bill.haneman@sun.com>
3732
3733         * test/screen-review-test.c:
3734         (text_chunk_get_clipped_string):        
3735         We now check to see if words fall within clip bounds 
3736         before resorting to character-by-character clip bounds testing.
3737
3738         * TODO: Added a section for "2.2 Proposed API Additions".
3739
3740 2002-05-21  Bill Haneman  <bill.haneman@sun.com>
3741
3742         * test/screen-review-test.c:
3743         * test/Makefile.am:
3744         Added a screen review benchmarking and test program to test
3745         directory.
3746
3747         * cspi/spi_accessible.c:
3748         * cspi/spi_main.c:
3749         Made some of the debug strings passed to cspi_check_ev a
3750         little more specific.
3751
3752 2002-05-21  Padraig O'Briain  <padraig.obriain@sun.com>
3753
3754         * test/screen-review-test.c: Fix crashes in debug statements
3755
3756 2002-05-20  Bill Haneman  <bill.haneman@sun.com>
3757
3758         * test/screen-review-test.c: Added this file.
3759
3760 2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
3761
3762         * atk-bridge/bridge.c: changed "object:state-change" to
3763         "object:state-changed" to match docs.
3764
3765 2002-05-13  Marc Mulcahy <marc.mulcahy@sun.com>
3766
3767         * atk-bridge/bridge.c: Hooked up state-change event details.
3768
3769 2002-05-11  Bill Haneman <bill.haneman@sun.com>
3770
3771         * registryd/registry.c:
3772         Fixed quarking bug in event string parsing; now events with
3773         detail parameters get matched correctly to listeners.
3774         [Bugzilla 80608].
3775
3776         * util/idl/Magnifier.idl: remove.
3777         * util/idl: remove
3778         * util/*.[ch]: Remove.
3779         Magnification utilities and IDL are now in module gnome-mag.
3780
3781 2002-05-10  Bill Haneman <bill.haneman@sun.com>
3782
3783         * registryd/deviceeventcontroller.c:
3784         Fixed bug in grab key conversion which was causing keycode grabs
3785         to be converted to AnyKey grabs.
3786
3787         * NEWS:
3788         updated NEWS file to reflect recent spin-off of gnome-mag.
3789
3790 2002-05-09  Marc Mulcahy <marc.mulcahy@sun.com>
3791
3792         * cspi/spi_accessible.c: Added exception checks.  Fixed completely
3793         busted AccessibleStateSet_compare.  Removed redundant casts.
3794         
3795         * cspi/spi-action.c: Removed redundant casts.
3796
3797         * cspi/spi_application.c: Fixed typo in AccessibleApplication_getVersion.
3798
3799         * cspi/spi_component.c: Fixed typos and casting error.
3800
3801         * cspi/spi_editabletext.c: Removed redundant casts.
3802
3803         * cspi/spi_hyperlink.c: Fixed casting and exception checking.
3804
3805         * cspi/spi_hypertext.c: Eliminated redundant casts.
3806
3807         * cspi/spi_image.c: Eliminated redundant casts.
3808
3809         * cspi/spi_registry.c: Eliminated redundant casts.
3810         SPI_deregisterGlobalEventListenerAll () removed retval variable.
3811         * cspi/spi_selection.c: Removed redundant casts.
3812         * cspi/spi_text.c: Eliminated redundant casts.  Fixed exception
3813         handling.  Screen geometry and text offsets were being returned as 0
3814         on error which is technically valid-- changed these to return -1.
3815         Added marshaller for text boundary types to fix bug with boundary
3816         types being passed incorrectly to atk.
3817                         
3818 2002-05-09  Bill Haneman <bill.haneman@sun.com>
3819
3820         
3821         * cspi/spi_registry.c:
3822         Fixed nasty bug in SPI_registerAccessibleKeystrokeListener
3823         which was uncovered by the recent key changes.
3824
3825 2002-05-09  Bill Haneman <bill.haneman@sun.com>
3826
3827         * test/event-listener-test.c:
3828         * test/Makefile.am:
3829         Added new test, "event-listener-test"; 
3830         this code does two things; it benchmarks traversal time 
3831         for the accessible hierarchy for the first running accessible 
3832         app, and it connects listeners for all supported event types.  
3833         It is thus useful as an example event listener and for 
3834         diagnostics/debugging of event generation.
3835         
3836 2002-05-08  Bill Haneman <bill.haneman@sun.com>
3837
3838         * test/Makefile.am:
3839         Removed unnecessary dependency on libutil.
3840
3841         * configure.in:
3842         Revved micro version: 0.13.1
3843
3844 2002-05-08  Bill Haneman <bill.haneman@sun.com>
3845
3846         * configure.in: 
3847         Removed util/Makefile from targets.
3848
3849         * Makefile.am:
3850         Removed util subdir from SUBDIRS (temporarily, 
3851         pending removal of magnifier-only code
3852         from UTIL).
3853
3854         * test/simple-at.c:
3855         #ifdef-ed out magnifier dependencies, since
3856         magnifier IDL, headers, and binary now live in
3857         module gnome-mag and we don't want at-spi to depend 
3858         on gnome-mag.  A magnifier demo which can run alongside
3859         simple-at is forthcoming in the gnome-mag module.
3860         
3861         NOTE: Split magnifier binary, IDL, and magnification
3862         activation code from at-spi into module gnome-mag.
3863
3864 2002-05-03  Marc Mulcahy <marc.mulcahy@sun.com>
3865  
3866         * cspi/bonobo/cspi-bonobo.c cspi/bonobo/cspi-bonobo-listener.c
3867         cspi/bonobo/cspi-bonobo-listener.h: Added copyright notice.
3868  
3869 2002-05-03  Bill Haneman <bill.haneman@sun.com>
3870
3871         * configure.in:
3872         Revved to version 0.13.0
3873         
3874         * idl/Accessibility_Registry.idl:
3875         Changed definition of KeySet from sequence of longs to sequence of
3876         KeyDefinitions, and added KeyDefinition struct.
3877         Required for fix to bug 80616.
3878
3879         * cspi/spi_registry.c: SPI_registerAccessibleKeystrokeListener():
3880         Changed AccessibleKeySet to Accessibility_KeySet marshalling code
3881         to use new definition (see above).  
3882
3883         * registryd/deviceeventcontroller.c: handle_keygrab(), 
3884         spi_keyset_contains_key():
3885         Changed to make use of new struct; this allows matching based on
3886         string key-name, for instance "Tab".  This also allows matching of
3887         composed characters, non-alphanumeric characters in a way that
3888         doesn't involve dependencies on X keysym codes directly, etc.
3889         
3890         * test/key-listener-test.c:
3891         Added test for Alt-Tab key using "string" specification of keyset,
3892         and modified one of the tests to use a keycode-based keyset.
3893         Thus this test both tests and demonstrates the creation and use of
3894         keysets of three forms:  specified via keycode array, 
3895         keysym array, and string array. (The string case only contains a
3896         single string, i.e. a string array of length 1).        
3897
3898         * test/simple-at.c:
3899         Turned on PRINT_TREE option by default.  Also fixed a
3900         string-freeing bug in the PRINT_TREE code.  
3901         Added a listener to window:minimize events.
3902         
3903 2002-05-08  Padraig O'Briain  <padraig.obriain@sun.com>
3904
3905         * atk-bridge/bridge.c:
3906         (spi_atk_register_event_listeners) Call atk_add_global_event_listener()
3907         for window:activate and window:deactiveate
3908         (atk_bridge_property_event_listener atk_bridge_signal_listener
3909         atk_bridge_window_event_listener) Tidy debug code
3910
3911 2002-05-02  Marc Mulcahy <marc.mulcahy@sun.com>
3912
3913         * libspi/accessible.c (impl_accessibility_accessible_get_role_name):
3914         Fixed handling for NULL return value from ATK.
3915
3916         * libspi/action.c libspi/component.c libspi/editabletext.
3917         libspi/hyperlink.c libspi/hypertext.c image.c libspi/selection.c
3918         libspi/stateset.c libspi/table.c libspi/text.c libspi/value.c:
3919         Removed redundant casts.
3920         
3921         * libspi/table.c (impl_getSelectedRows, impl_getSelectedColumns):
3922         Fixed off by one bug.
3923         
3924         *libspi/text.c: removed impl_getRowColAtOffset (unimplemented
3925         function not present in idl)
3926         
3927 2002-05-02  jacob berkman  <jacob@ximian.com>
3928
3929         * atk-bridge/Makefile.am: make atk-bridge a real module
3930
3931 2002-04-26  Radek Doulik  <rodo@ximian.com>
3932
3933         * libspi/stateset.c (spi_init_state_type_tables): fix size of
3934         atk_state_types table
3935
3936 2002-04-22  jacob berkman  <jacob@ximian.com>
3937
3938         * util/Makefile.am: 
3939         * libspi/Makefile.am: add deps on the built files to help
3940         automake, and don't version the ORBit typelib
3941
3942 2002-04-19  Padraig O'Briain  <padraig.obriain@sun.com>
3943
3944         * cspi/cspi-lowlevel.h cspi/spi-impl.h cspi/spi-listener.h 
3945         cspi/spi-private.h cspi/spi-roletypes.h cspi/spi-statetype.h
3946         cspi/spi.h cspi/spi_accessible.c cspi/spi_action.c 
3947         cspi/spi_application.c cspi/spi_component.c cspi/spi_editabletext.c
3948         cspi/spi_hyperlink.c cspi/spi_hypertext.c cspi/spi_image.c
3949         cspi/spimain.c cspi/spi_selection.c cspi/spi_streamablecontent.c
3950         cspi/spi_table.c cspi/spi_text.c cspi/spi_value.c
3951         libspi/accessible.h libspi/accessible.h libspi/base.h 
3952         libspi/component.h libspi/editabletext.h libspi/hyperlink.h 
3953         libspi/hypertext.h libspi/image.h libspi/keymasks.h libspi/libspi.h
3954         libspi/relation.h libspi/remoteobject.h libspi/selection.h 
3955         libspi/spi-private.h libspi/statetset.h libspi/table.h
3956         libspi/text.h libspi/util.h libspi/value.h util/mag_client.c
3957         util/mag_client.h util/mag_control.c util/mag_image.c
3958         util/mag_image.h util/magnifier.c util/magnifier.h: 
3959         Add missing file headers; standardize existing ones
3960
3961 2002-04-18  Marc Mulcahy  <marc.mulcahy@sun.com>
3962
3963         * atk-bridge/bridge.c: Added window event support.
3964
3965 2002-04-18  Michael Meeks  <michael@ximian.com>
3966
3967         * libspi/relation.c (impl_getNTargets): impl.
3968         (impl_getTarget): impl.
3969
3970         * libspi/Makefile.am: fix stateset install.
3971
3972 2002-04-17  Bill Haneman <bill.haneman@sun.com>
3973
3974         * NEWS:
3975         Started putting useful info in this file.
3976         
3977 2002-04-17  Marc Mulcahy <marc.mulcahy@sun.com>
3978  
3979         * atk-bridge/bridge.c: 
3980         Propagate state-changed notifications to ATs
3981  
3982         * cspi/spi_registry.c: update docs to reflect actual behavior of
3983         state-change events.
3984
3985 2002-04-17  Bill Haneman <bill.haneman@sun.com>
3986
3987         * configure.in:
3988         Incremented version to 0.12.1
3989         
3990         * util/mag_client.h:
3991         Add missing declaration for magnifier_exit, 
3992         used by mag_control.c - Forte compiler didn't like
3993         the implicit redeclaration of the function :-(
3994
3995
3996 2002-04-16  Bill Haneman <bill.haneman@sun.com>
3997
3998         * configure.in:
3999         Revved version to 0.12 due to API change (see below).
4000
4001         * cspi/spi-roletypes.h:
4002         removed (obsolete) SPI_ROLE_FOCUS_TRAVERSABLE 
4003         definition from the inline docs, and added docs
4004         for SPI_ROLE_LAST_DEFINED.
4005
4006         * cspi/spi.h:
4007         * cspi/spi_streamablecontent.c:
4008         Added missing seek_type parameter to
4009         (so far unused) method, 
4010         AccessibleStreamableContent_seek().
4011         [ RT approval JodyG. ]
4012
4013         * cspi/spi_event.c:
4014         Fixed docs for SPI_createAccessibleKeystrokeListener.
4015
4016         * cspi/spi_registry.c:
4017         Fixed docs for SPI_KEYSET_ALL_KEYS.
4018         
4019         * docs/reference/cspi/at-spi-cspi-sections.txt:
4020         Added a number of missing APIs to SECTIONS.
4021         
4022 2002-04-16  Bill Haneman <bill.haneman@sun.com>
4023
4024         * registryd/Makefile.am:
4025         * cspi/Makefile.am:
4026         * cspi/bonobo/Makefile.am:
4027         Add $(X_LIBS) to makefiles.
4028
4029 2002-04-15  Bill Haneman <bill.haneman@sun.com>
4030
4031         * configure.in:
4032         Revved version to 0.11.
4033
4034         * libspi/component.c:
4035         Added implementation for grabFocus.
4036
4037         * idl/Accessibility_Component.idl
4038         (Accessibility_Component_grabFocus):
4039         Made this method return boolean to indicate success or failure, to
4040         be consistent with cspi and the corresponding ATK method.
4041         
4042         * idl/Accessibility_Selection.idl
4043         (Accessibility_Selection_selectAll) :
4044         Made these methods return boolean to indicate success or
4045         failure, to be consistent with cspi and the corresponding ATK methods.
4046         
4047         * idl/Accessibility_EditableText.idl 
4048         (Accessibility_EditableText_setTextContents,
4049          Accessibility_EditableText_insertText,
4050          Accessibility_EditableText_cutText,
4051          Accessibility_EditableText_deleteText,
4052          Accessibility_EditableText_pasteText):
4053         Made these methods return boolean to indicate
4054         success or failure.
4055
4056         * cspi/spi_editabletext.c:
4057         Made these methods return booleans.
4058
4059         * libspi/selection.c:
4060         * libspi/component.c:
4061         * libspi/editabletext.c:
4062         Connected the boolean returns from ATK
4063         to the server-side code referenced above.
4064         
4065 2002-04-14  Bill Haneman <bill.haneman@sun.com>
4066
4067         * idl/Accessibility_Table.idl: Added missing methods,
4068         Accessibility_Table_addRowSelection,
4069         Accessibility_Table_addColumnSelection,
4070         Accessibility_Table_removeRowSelection,
4071         Accessibility_Table_removeColumnSelection.
4072
4073         * cspi/spi_table.c:
4074         Added C wrappers for above IDL:
4075         AccessibleTable_addRowSelection,
4076         AccessibleTable_addColumnSelection,
4077         AccessibleTable_removeRowSelection,
4078         AccessibleTable_removeColumnSelection.
4079         
4080         * libspi/table.c:
4081         Added server-side implementation code for IDL above, connecting
4082         to pre-existing ATK api.
4083         
4084 2002-04-13  Marc Mulcahy <marc.mulcahy@sun.com>
4085
4086         * idl/Accessibility_State.idl: Made StateSet inherit from BonoboUnknown.
4087
4088         * libspi/accessible.c: Added implementation fo
4089         Accessibility_Accessible_get_state.
4090         
4091         * libspi/libspi.h: Added stateset.h to the list of includes.
4092
4093         * libspi/stateset.c: Fixed broken implementation.
4094
4095 2002-04-13  Bill Haneman <bill.haneman@sun.com>
4096
4097         * util/magnifier.c:
4098         Added implementation code for Accessibility_Magnifier_exit ().
4099
4100         * util/mag_control.c:
4101         Added test code for above method; you can
4102         now kill an existing magnifier via 
4103         ./mag_control q, from the util directory.
4104
4105         * test/key-listener-test.c:
4106         * test/Makefile.am:
4107         Added a new test, for our key listener API.
4108
4109 2002-04-11  Bill Haneman <bill.haneman@sun.com>
4110
4111         * test/app.c, test/keysynth-demo.c:
4112         * util/magnifier.c:
4113         Replace use of snprintf with g_snprintf.
4114         (fix for bugzilla 78249)
4115
4116 2002-03-27  Michael Meeks  <michael@ximian.com>
4117
4118         * Version 0.10.0
4119
4120         * util/Makefile.am (INCLUDES): fix.
4121         (DONT_DIST_SOURCE): don't distribute the
4122         generated files.
4123
4124         * libspi/Makefile.am (dist-hook): ditto.
4125
4126 2002-03-27  Padraig O'Briain  <padraig.obriain@sun.com>
4127
4128         * libspi/hypertext.c:
4129         Fix warnings when yelp is used with atk-bridge
4130
4131 2002-03-21  Michael Meeks  <michael@ximian.com>
4132
4133         * libspi/application.c (spi_application_new):
4134         use spi_accessible_construct so we use the AtkObject
4135         cache correctly.
4136
4137 2002-03-19  Michael Meeks  <michael@ximian.com>
4138
4139         * registryd/registry.c (desktop_remove_application),
4140         (desktop_add_application): clean coding style.
4141
4142         * registryd/desktop.c (spi_desktop_remove_application),
4143         (spi_desktop_add_application): kill re-enterency hazards.
4144         (spi_desktop_dispose): remove bogus redundant cast
4145         obscuring bug; fix bug too.
4146         (spi_desktop_init): make the desktop object immortal.
4147
4148 2002-03-16 Bill Haneman <bill.haneman@sun.com>
4149
4150         * test/simple-at.c:
4151         Added a #define-guarded tree-traversal step
4152         when enumerating the apps (diagnostic tool).
4153
4154 2002-03-15 Bill Haneman <bill.haneman@sun.com>
4155
4156         * idl/Accessibility_Role.idl:
4157         Added ROLE_DRAWING_AREA which seemed to be missing from the
4158         previous commit.
4159
4160 2002-03-14 Marc Mulcahy <marc.mulcahy@sun.com>
4161
4162         * cspi/spi-roletypes.h cspi/spi_accessible.c
4163         idl/Accessibility_Role.idl libspi/accessible.c: synched up role
4164         types with ATK.
4165
4166         * registryd/desktop.c registryd/desktop.h registryd/registry.c:
4167         Added signals to SpiDesktop and callbacks in SpiRegistry to notify
4168         AT when applications are added and removed from the desktop.  This
4169         reverts the previous broken implementation using the backing
4170         AtkObject for the SpiDesktop.
4171         
4172         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
4173
4174         * registryd/desktop.c: emit the "children-changed::add" and
4175         "children-changed::remove" signals on the backing ATK object for
4176         the desktop so AT can tell when applications are started and shut
4177         down.
4178
4179         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
4180
4181         * cspi/spi_accessible.c: Made role names freeable with SPI_freeString ()
4182
4183         2002-03-14  Marc Mulcahy <marc.mulcahy@sun.com>
4184
4185         * libspi/stateset.c: implemented Accessibility_StateSet_compare ()
4186
4187         * cspi/spi_accessible.c: Implemented c bindings for stateset support
4188
4189         * cspi/state-types.h: synched with IDL and ATK
4190
4191         2002-03-13  Bill Haneman <bill.haneman@sun.com>
4192
4193         * libspi/accessible.c 
4194         (impl_accessibility_accessible_get_child_at_index):
4195         Change return value for g_return_if_fail ()
4196         to CORBA_OBJECT_NIL instead of "0" (!)
4197
4198         * registryd/Makefile.am:
4199         * registryd/Accessibility_Register.server.in:
4200         Changed name of executable, "registryd",
4201         to something more informative:
4202         "at-spi-registryd".
4203
4204 2002-03-13  Michael Meeks  <michael@ximian.com>
4205
4206         * atk-bridge/bridge.c (atk_bridge_init): don't register
4207         if we're in a bonobo-component, rather than a bonobo app.
4208
4209 2002-03-13  Michael Meeks  <michael@ximian.com>
4210
4211         * atk-bridge/bridge.c (gtk_module_init): split
4212         out body to (atk_bridge_init): here, since otherwise
4213         we get symbol conflicts and oddness when invoked
4214         from (gnome_accessibility_module_init): here (upd.)
4215
4216 2002-03-11  Bill Haneman  <bill.haneman@sun.com>
4217
4218         * HACKING:
4219         New file.  Explicitly allow "build sheriff" putbacks provided
4220         they are tested on Solaris.
4221         
4222         * docs/reference/cspi/Makefile.am:
4223         Added '-' to the "cp" command for index.sgml.
4224         ("patch by thomasvs, soon coming to a GUADEC near you")
4225
4226         * configure.in:
4227         Incremented version number (0.9.0) for new release.
4228         Changed macro that checks for popt, to better detect
4229         obsolete versions of popt.
4230         
4231         * configure.in:
4232         Added X_LIBS to AC_SUBST, for applications
4233         that call Xlib API directly.
4234         
4235
4236 2002-03-07  Bill Haneman  <bill.haneman@sun.com>
4237
4238         * configure.in:
4239         Include gdk_pixbuf_x11-2.0 in UTILS_LIBS.
4240
4241         * util/Makefile.am:
4242         Fix regression caused by hard-coding major
4243         version of gdk_pixbuf_x11; now use $(UTILS_LIBS)
4244         (see above change).
4245         
4246         * test/test-simple.c (test_editable_text),
4247         (test_test): revert previous change (error was 
4248         a regression in gail which is now fixed).
4249         
4250 2002-03-04  Michael Meeks  <michael@ximian.com>
4251
4252         * test/test-simple.c (test_editable_text),
4253         (test_text): pass G_MAXINT instead of '-1' for
4254         whole string - is this a good thing !?
4255
4256         * cspi/spi_accessible.c
4257         (Accessible_getRelationSet): fix crasher bug
4258         overwriting the end of the array.
4259
4260         * test/test-simple.c (validate_accessible): free,
4261         not g_free returned relation set.
4262
4263 2002-02-26 Marc Mulcahy <marc.mulcahy@sun.com>
4264
4265         * libspi/stateset.c libspi/stateset.h libspi/Makefile.am:
4266         implemented stateset support
4267
4268         * idl/Accessibility_State.idl: Made necessary changes to
4269         the IDL to support state sets.
4270
4271 2002-02-12 Bill Haneman <bill.haneman@sun.com>
4272
4273         * registryd/deviceeventcontroller.c:
4274         Added implementation for generateMouseEvent.
4275
4276         * cspi/spi_registry.c:
4277         Connected new implementation for generateMouseEvent
4278         to the C bindings.
4279         
4280 2002-02-12 Bill Haneman <bill.haneman@sun.com>
4281
4282         * configure.in: 0.8
4283         Incremented revision (but no change in public API
4284         outside of 'utils', which are not installed public yet.)
4285
4286         * libspi/component.c:
4287         Changed to use atk_component API for layers and
4288         mdi_zorder, instead of deprecated atk_object API.
4289         
4290         Magnification Utility Enhancements:
4291         
4292         * util/magnifier.c:
4293         Added implementation of createZoomRegion, clearAllZoomRegions,
4294         resizeZoomRegion.  Added new commandline argument
4295         "--no-initial-region".  Note that clearAllZoomRegions doesn't
4296         unmap the old '0' region as it should (yet), and the other
4297         methods only work when creating/resizing a single region,
4298         which is "region 0".  
4299         (Code for multiple region support will be added later.)
4300
4301         * util/mag_image.c:
4302         Now we raise the magnifier window each time it's refreshed;
4303         this will help keep it on top.
4304         
4305         * util/mag_client.h:
4306         Added simple wrappers for above, used by mag_control.
4307         For general use, it's recommended to use the bonobo magnifier
4308         control API directly instead of using these wrappers.
4309
4310         * util/mag_image.h:
4311         Moved ZoomRegionData from magnifier.c to this file.
4312         
4313         * util/mag_control.c: 
4314         Added some code to exercise new IDL implementations.
4315         
4316 2002-02-06 Marc Mulcahy <marc.mulcahy@sun.com>
4317
4318         * libspi/text.c: Provide implementation for getAttributes.
4319
4320 2002-02-04  Bill Haneman <bill.haneman@sun.com>
4321         
4322         * configure.in:
4323         Incremented revision.
4324
4325         * test/test-simple.c:
4326         Replaced use of deprecated g_main_iteration with 
4327         g_main_context_iteration.
4328         
4329 2002-01-28  Padraig O'Briain <padraig.obriain@sun.com>
4330
4331         * configure.in:
4332         Incremented revision for desktop alpha 2.
4333
4334 2002-01-28  Mark McLoughlin  <mark@skynet.ie>
4335
4336         * libspi/remoteobject.[ch]: make RemoteObject and interface rather
4337         than an atk object.
4338
4339         * test/simple-at.c: include netinet/in.h.
4340
4341 2002-01-24  Mark McLoughlin  <mark@skynet.ie>
4342
4343         * cspi/spi_accessible.c: (Accessible_getRelationSet):
4344         use NULL, not CORBA_OBJECT_NIL.
4345
4346         * libspi/accessible.c:
4347         (impl_accessibility_accessible_get_relation_set):
4348         allocate the sequence correctly.
4349
4350         * libspi/remoteobject.h: kill spi_remote_object_new.
4351
4352         * test/test-simple.c: (validate_accessible): add code
4353         to test relation sets, now all we need is to figure
4354         out how to excercise this code path :/
4355
4356 2002-01-18  Michael Meeks  <michael@ximian.com>
4357
4358         * test/test-simple.c
4359         (key_listener_cb): consume the key.
4360         (test_keylisteners): update.
4361         (main): wait for any pending unrefs on events.
4362
4363         * registryd/deviceeventcontroller.c
4364         (spi_controller_update_key_grabs): only re-issue the
4365         grab on a key release.
4366         (spi_device_event_controller_forward_key_event):
4367         refresh the keygrabs before we notify the listeners,
4368         to reduce the X ungrab / re-grab race.
4369         (spi_controller_register_with_devices): remove
4370         XSelectInput - we do that with the gdk_window_ call.
4371         (_spi_controller_device_error_handler): return a value.
4372         s/GDK_DISPLAY/spi_get_display/
4373
4374 2002-01-17  Michael Meeks  <michael@ximian.com>
4375
4376         * registryd/deviceeventcontroller.c
4377         (_deregister_keygrab): don't blow out the later
4378         assertion.
4379
4380         * test/test-simple.c (test_keylisteners): do a
4381         more intelligent validation.
4382
4383 2002-01-14  Michael Meeks  <michael@ximian.com>
4384
4385         * atk-bridge/bridge.c
4386         (gnome_accessibility_module_init),
4387         (gnome_accessibility_module_shutdown): impl.
4388         (gtk_module_init): protect vs. double inits.
4389         (add_signal_listener): impl.
4390         (spi_atk_bridge_state_event_listener): kill
4391         (deregister_application): split out of
4392         (spi_atk_bridge_exit_func): here.
4393
4394 2002-01-18  Bill Haneman <bill.haneman@sun.com>
4395
4396         * test/simple-at.c:
4397         Added caret tracking when using magnifier, and 
4398         now use text bounds for focus tracking of text elements, rather than
4399         the component bounds - this is helpful for short text fields in long
4400         table cells, at high magnification.
4401         
4402 2002-01-16  Bill Haneman <bill.haneman@sun.com>
4403
4404         * registryd/deviceeventcontroller.c:
4405         Regression fix for keylistener de-registration; global keygrabs
4406         were not being released when deregisterKeystrokeListener was
4407         called in cspi, since 
4408         Accessibility_DeviceEventController_deregisterKeystrokeListener
4409         was called with a zero-length keyset.  That is because the cspi
4410         method, SPI_deregisterKeystrokeListener, does not take a keyset
4411         parameter but instead should remove all the key grabs held be a
4412         keystroke listener.  
4413         The code in impl_deregister_keystroke_listener was changed to copy
4414         the keylist from the listener instance previously registered with
4415         the DeviceEventController before releasing the grabs.
4416
4417         * registryd/registry.c:
4418         * registryd/deviceeventcontroller.c:
4419         * libspi/spi-private.h:
4420         * libspi/util.c:
4421         Changed spelling of "re-enterant" to "re-entrant" globally.
4422
4423 2002-01-16  Bill Haneman <bill.haneman@sun.com>
4424
4425         * test/test-simple.c:
4426         Changed key listeners test - the test was slightly mis-using the
4427         (admittedly poorly documented) SPI_generateKeyboardEvent API.
4428         It now uses '=' as the key event listened to and generated,
4429         relying on a keysym match rather than assuming that keycode 33 
4430         is always equal to keysym '!'.
4431
4432 2002-01-15  Bill Haneman <bill.haneman@sun.com>
4433
4434         * test/simple-at.c:
4435         Changed simple-at to use a specific keyset, rather than
4436         SPI_KEYSET_ALL_KEYS - this helps minimize clashes with the window
4437         manager, desktop, etc.
4438         
4439 2002-01-11  Bill Haneman <bill.haneman@sun.com>
4440
4441         * registryd/deviceeventcontroller.c:
4442         Replaced standard X error handler with a special handler that 
4443         is non-fatal for failed keygrabs.  This works around 
4444         problems with keygrab clashes sometimes observed on 
4445         Solaris using CDE.
4446         Re-instated SPI_DEVICE_TYPE_MOUSE in enum (didn't reinstate 
4447         mouse handling code as yet).
4448         
4449 2002-01-11  Bill Haneman <bill.haneman@sun.com>
4450
4451         * configure.in:
4452         Incremented revision for desktop alpha release.
4453
4454         * README:
4455         Fixed a couple of the more glaring errors (still not 
4456         very up-to-date).
4457
4458 2002-01-11  Michael Meeks  <michael@ximian.com>
4459
4460         * registryd/deviceeventcontroller.c
4461         (spi_device_event_controller_forward_key_event): kill
4462         XUngrabKey / XKeyGrab race.
4463         (spi_controller_grab_keyboard): rename to
4464         (spi_controller_update_key_grabs): this, and deal
4465         with incremental adding / removing grabs more
4466         sensibly.
4467         (_register_keygrab): ensure we're not pending a remove.
4468         (spi_grab_mask_free): impl.
4469         (spi_controller_register_global_keygrabs): split out
4470         common code into:
4471         (handle_keygrab): impl.
4472         (_deregister_keygrab): impl.
4473         (spi_controller_deregister_global_keygrabs): impl.
4474         (spi_controller_update_key_grabs): re-issue the grab if
4475         we just recieved a notification.
4476
4477         * test/test-simple.c (key_listener_cb): remove debug.
4478
4479         * registryd/deviceeventcontroller.c
4480         (spi_controller_register_device_listener): after
4481         registering a global keygrab, actualy register it !
4482         don't wait for a timeout; doh !
4483
4484         * registryd/deviceeventcontroller.[ch]: s/DeviceEvent/DE/
4485         to make it more readable / manipulable.
4486         s/grabmask/grab_mask/ s/refcount/ref_count/
4487         s/keyval/key_val/ s/modmask/mod_mask
4488
4489 2002-01-08  Michael Meeks  <michael@ximian.com>
4490
4491         * registryd/deviceeventcontroller.c
4492         (spi_controller_register_with_devices): use gdk calls to
4493         setup a filter.
4494         (global_filter_fn): implement the filter.
4495         (spi_device_event_controller_check_key_event): rename to
4496         (spi_device_event_controller_forward_key_event): this & upd.
4497         (spi_get_display): replace with GDK_DISPLAY.
4498
4499         * registryd/deviceeventcontroller.c
4500         (spi_controller_deregister_device_listener): unroll into
4501         (impl_deregister_keystroke_listener): here to simplify.
4502         (spi_controller_register_global_keygrabs): split cut and
4503         paste (!) out into (_register_keygrab): here, shorter & sweeter.
4504         (spi_controller_deregister_device_listener): remove.
4505         (impl_register_mouse_listener): remove, no mouse listener
4506         support in at-spi-1.0
4507
4508         * registryd/registry.c
4509         (_device_event_controller_hook): kill.
4510         (spi_registry_init): upd.
4511
4512         * registryd/deviceeventcontroller.c
4513         (spi_device_event_controller_class_init): upd.
4514         (spi_check_key_event): merge into.
4515         (spi_device_event_controller_check_key_event):
4516         here and kill strange static ev init, don't leak
4517         the x_event - nor dynamicaly allocate it.
4518
4519         * registryd/registry-main.c (main): re-direct
4520         timeout to remove strange vtable mess.
4521
4522         * registryd/deviceeventcontroller.c
4523         (remove_listener_cb): impl.
4524         (spi_controller_deregister_device_listener):
4525         fix re-enterancy hazard.
4526
4527 2002-01-07  Michael Meeks  <michael@ximian.com>
4528
4529         * registryd/deviceeventcontroller.c
4530         (spi_device_event_controller_new): upd.
4531         (impl_notify_listeners_sync): upd. debug.
4532         (spi_notify_keylisteners): fix re-enterancy hazards,
4533         prettify, remove O(n*n) iteration.
4534         (spi_controller_grab_keyboard): fix iteration.
4535         (spi_check_key_event): re-format to suit coding style.
4536         Clean all the warnings - we're warning free.
4537
4538         * registryd/deviceeventcontroller.h:
4539         * registryd/registry.h: make mutualy referential with
4540         typesafe forward references instead of (!) void pointer
4541         hacks.
4542
4543 2002-01-11  Michael Meeks  <michael@ximian.com>
4544
4545         * cspi/spi_accessible.c (role_names): add a role name
4546         to sync this array with the enum; and make the regression
4547         tests pass, sigh.
4548
4549 2002-01-10  Michael Meeks  <michael@ximian.com>
4550
4551         * cspi/spi_registry.c (SPI_generateKeyboardEvent): 
4552         allow expansion of enumeration & kill warning.
4553
4554         * test/test-simple.c (key_listener_cb): impl.
4555         (test_keylisteners): impl.
4556
4557         * cspi/spi-listener.h: make listener signatures const
4558         on the provided (const) events.
4559
4560         * test/keysynth-demo.c: upd. to const events.
4561
4562         * test/simple-at.c: ditto.
4563
4564 2002-01-11  Bill Haneman <bill.haneman@sun.com>
4565
4566         * configure.in:
4567         Rev the version to 0.5 (the previous tarball was named 0.4, 
4568         even though the micro number was 3), so we need to rev upwards
4569         again for beta2/"desktop-alpha" 
4570  
4571         * test/demo.csh:
4572         Checked in a demo script, which requires editing before use!
4573         Proceed with caution.
4574         
4575         * libspi/value.h:
4576         Fixed typo in header which was redefining SPI_ACTION_CLASS.
4577
4578         * cspi/spi_accessible.c:
4579         Add a couple of missing enum initializations, and fix some enum
4580         comments.
4581
4582         * cspi/spi_registry.c:
4583         Add comment describing keystring parameter to SPI_generateKeyboardEvent.
4584         
4585         * docs/reference/cspi/at-spi-cspi-sections.txt:
4586         Remove/fix a couple of broken document references.
4587
4588         * test/simple-at.c:
4589         Minor tweaks to the demo.  We now (sigh) use Alt-SHIFTLOCK as well
4590         as Alt-Control to listen for commands, since on some systems
4591         Control-Alt may already be grabbed.
4592
4593 2002-01-10  Bill Haneman <bill.haneman@sun.com>
4594
4595         * configure.in:
4596         Update version number to 0.4 for Beta2.
4597         
4598         * libspi/accessible.c, libspi/accessible.h:
4599         Expose spi_accessible_construct, to enable libgail-gnome
4600         construction from spi_accessible subtype.
4601
4602         * utils/magnifier.c:
4603         Workaround for bug in some non-gnome-compliant window managers
4604         which made magnifier resize improperly.
4605
4606 2002-01-09  Bill Haneman <bill.haneman@sun.com>
4607
4608         * libspi/accessible.c: (spi_accessible_new) :
4609         Move the test for SPI_IS_REMOTE_OBJECT to
4610         spi_accessible_new_return, fixing a bug and compile time warning.
4611         
4612 2002-01-08  Michael Meeks  <michael@ximian.com>
4613
4614         * registryd/registry.c (parse_event_type): remove strndup.
4615
4616         * libspi/Makefile.am (libspi_la_SOURCES): remove
4617         sources already included in the headers section.
4618
4619         * libspi/util.c: add.
4620
4621         * libspi/spi-private.h: add.
4622
4623         * registryd/registry.c: update to moved list iterators.
4624
4625 2002-01-05  Michael Meeks  <michael@ximian.com>
4626
4627         * test/simple-at.c (main): upd. auto-module set to atk-bridge
4628
4629         * test/test-simple.c (main): ditto.
4630
4631 2002-01-04  Michael Meeks  <michael@ximian.com>
4632
4633         * libspi/accessible.c (spi_accessible_new): remove 2nd,
4634         redundant construct.
4635
4636         * registryd/registry.c
4637         (get_listener_list): impl.
4638         (impl_accessibility_registry_register_global_event_listener):
4639         re-impl. to simplify using ~, remove dodgy const cast off.
4640         (parse_event_type): constify.
4641         (impl_accessibility_registry_deregister_global_event_listener_all): 
4642         re-write, more efficiency and simplicity, kill re-enterancy
4643         hazard.
4644         (compare_listener_corbaref, compare_corba_objects),
4645         (compare_listener_quarks): define out.
4646         (impl_accessibility_registry_deregister_global_event_listener): 
4647         re-write for effiency, and nail re-enterancy hazard.
4648         (impl_accessibility_registry_get_desktop_list): impl.
4649         (re_enterant_list_delete_link): impl.
4650         (re_enterant_list_foreach): impl.
4651         (remove_listener_cb): impl.
4652         (_registry_notify_listeners): kill.
4653         (notify_listeners_cb): impl.
4654
4655         * cspi/spi_registry.c (SPI_freeDesktopList): impl.
4656         (SPI_getDesktopList): impl.
4657
4658         * test/test-simple.c (test_desktop): test the methods.
4659
4660 2002-01-03  Michael Meeks  <michael@ximian.com>
4661
4662         * cspi/spi_event.c (SPI_createAccessibleKeySet): dup the
4663         keystrings since we free them
4664         (SPI_freeAccessibleKeySet): in here.
4665
4666         * libspi/accessible.c (spi_accessible_new): kill warning,
4667         wonder what is going on with the constructor here.
4668
4669 2002-03-01  Bill Haneman <bill.haneman@sun.com>
4670
4671         * libspi/accessible.c (spi_accessible_new ()) :
4672         Added check to see if AtkObject is an SpiRemoteObject before
4673         creating an SpiAccessible.
4674         
4675 2002-05-01  Bill Haneman <bill.haneman@sun.com>
4676
4677         * registryd/deviceeventcontroller.c (spi_controller_grab_keyboard):
4678         Enable keygrabs using the Control modifier, now that they are
4679         working properly (they were previously disabled).
4680
4681         * test/simple-at.c:
4682         Change the command keygrab for this demo to "Control+Alt", so as
4683         to conflict with fewer other key commands on the system; this
4684         means that the quit command for "simple-at" is now "Ctrl-Alt-q".
4685
4686         Removed a pointlessly-chatty keylistener for unshifted keys
4687         (shifted keys are still reported).
4688         
4689 2002-02-01  Bill Haneman <bill.haneman@sun.com>
4690
4691         * libspi/remoteobject.h:
4692         * libspi/remoteobject.c:
4693         Added definitions for special AtkObject subtype, required for
4694         support of remote components (specifically, used by BonoboControl
4695         accessibility implementation).
4696         
4697 2002-01-02 Marc Mulcahy  <marc.mulcahy@sun.com>
4698
4699         * cspi/spi.h: synched relation types with ATK
4700
4701         * cspi/spi_accessible.c: Added implementations of
4702         AcccessibleRelation_* methods
4703
4704         * idl/Accessibility_Relation.idl: added getRelationTypeName
4705         method.  Synched known relation types with ATK.  Allowed for
4706         relation type extension with the RELATION_EXTENDED type.
4707         
4708         * libspi/relation.c: Provided implementations for
4709         AccessibleRelation methods.
4710
4711 2002-01-01  Bill Haneman <bill.haneman@sun.com>
4712
4713         API tweaks for today's API 'freeze'.
4714
4715         * idl/*:
4716         Added placeholder functions to allow future compatible expansion
4717         of the IDL interfaces.
4718
4719         * idl/Accessibility_Registry.idl:
4720         Changed generateKeyEvent to generateKeyboardEvent.  Changed
4721         signature of this method to accept an optional keystring in
4722         parameter (for complex text input synthesis) and changed use of
4723         simple 'boolean' parameter in registerKeystrokeListener to a
4724         struct, EventListenerMode.
4725
4726         * cspi/spi_accessible.c:
4727         * cspi/spi.h:
4728         * cspi/spi_streamablecontent.c:
4729         Added references to AccessibleStreamableContent interface, and
4730         definition and implementation of AccessibleStreamableContent 
4731         C bindings.
4732
4733         * cspi/spi_registry.c:
4734         * cspi/spi.h:
4735         Changed generateKeyEvent API to generateKeyboardEvent,
4736         taking a new (optional) keystring parameter to support complex
4737         text input.
4738         
4739         * at-bridge/*:
4740         * atk-bridge/*:
4741         Renamed directory (to better reflect its actual purpose, bridging
4742         from at-spi to ATK).  The .so module is also now named
4743         libatk-bridge.so.
4744
4745         * idl/Accessibility_Hypertext.idl:
4746         * libspi/accessible.c:
4747         * libspi/hypertext.h:
4748         * libspi/hypertext.c:
4749         Changed Accessibility_Hypertext to *not* derive from
4750         Accessibility_Text.
4751
4752         * cspi/spi_registry.c:
4753         Added list of legal event type names for 'window' events, which
4754         completes the registry event API.
4755
4756 2001-12-22  Marc Mulcahy  <marc.mulcahy@sun.com>
4757
4758         * at-bridge/bridge.c: Added registration for separate
4759         "Atktext:text-changed::insert" and "AtkText:text-changed::delete"
4760         signals.  If either of the first two parameters to the generic
4761         bridge signal handler are ints, they are passed on as event
4762         details.  This allows an AT to determine what text was inserted.
4763
4764 2001-12-21  Bill Haneman <bill.haneman@sun.com>
4765
4766         * registryd/deviceeventcontroller.c:
4767         Fixed regressions in generateKeyEvent caused by the removal of
4768         gdk_init from registryd; we now use pure X calls to connect to the
4769         display, which makes sense because deviceeventcontroller already
4770         uses a fair bit of X API (should eventually be migrated to a
4771         'portability layer').
4772
4773         * registryd/desktop.c:
4774         Fixed minor regression in spi_desktop_init, changed the way the
4775         desktop name is being set to work with new spi_base API
4776         (gobject-based, rather than AtkObject-based).
4777
4778         * registryd/Makefile.am:
4779         Minor revision of makefile to use XTST_LIBS variable rather than
4780         hard-wiring the Xtst LD_ADD element.
4781
4782         * test/keysynth-demo.c:
4783         Tweaked an output message; added initialization of the
4784         'keystrings' member of the "switch listener" key_set.
4785
4786         * libspi/relation.c:
4787         Squashed compile-time warning.
4788
4789         * libspi/accessible.c:
4790         Cosmetic and formatting fixes, renamed a static method.
4791         
4792 2001-12-18 Marc Mulcahy <marc.mulcahy@sun.com>
4793
4794         * libspi/accessible.c 
4795         * libspi/action.c
4796         * libspi/application.c 
4797         * libspi/base.c 
4798         * libspi/base.h
4799         * libspi/component.c 
4800         * libspi/editabletext.c
4801         * libspi/hyperlink.c 
4802         * libspi/hypertext.c
4803         * libspi/image.c 
4804         * libspi/selection.c 
4805         * libspi/table.c
4806         * libspi/text.c 
4807         * libspi/value.c 
4808         * registryd/desktop.c:
4809         Changed SpiBase to contain a GObject pointer rather than an AtkObject
4810
4811 2001-12-17  Bill Haneman <bill.haneman@sun.com>
4812
4813         * idl/Accessibility_Registry.idl:
4814         Added boolean member 'is_text' to DeviceEvent.  This is for the
4815         use of key events, and helps prevent ambiguity between composed
4816         key strings and keysym names, since both may potentially be
4817         returned in the 'event_string' member.
4818
4819         * at-bridge/bridge.c:
4820         * registryd/deviceeventcontroller.c:
4821         Use the 'is_text' member when notifying device event listeners.
4822         Knon issue: composed characters are not dealt with correctly by
4823         the global key listener implementation yet.
4824         
4825 2001-12-17  Bill Haneman <bill.haneman@sun.com>
4826
4827         * at-bridge/bridge.c:
4828         Namespaced local static methods to spi_atk_bridge_* where
4829         previously named bridge_*, and spi_* elsewhere.
4830
4831         * at-bridge/bridge.c:
4832         * cspi/bonobo/cspi-bonobo-listener.c:
4833         Added demarshalling/conversion for string member of
4834         Accessibility_DeviceEvent to AccessibleKeystroke.
4835
4836         * registryd/deviceeventcontroller.c:
4837         Added code to fill the Accessibility_DeviceEvent key string value
4838         member for global key events (i.e. from XGrabKey), to match
4839         behavior of Accessibility_DeviceEvent from the toolkit key events
4840         from the bridge.  Fixed timestamp in global key event notifications.
4841
4842         * test/simple-at.c:
4843         Added printout of key event's string value to
4844         report_ordinary_key_event, for demo/debugging purposes.
4845
4846 2001-12-15  Bill Haneman <bill.haneman@sun.com>
4847
4848         * idl/Accessibility_Registry.idl:
4849         Removed Accessibility_KeyStroke structure in favor of generic
4850         Accessibility_DeviceEvent structure.
4851         Changed Accessibility_ControllerEventMask from a struct to an
4852         unsigned long.
4853
4854         * at-bridge/bridge.c:
4855         Changed APIs to use DeviceEvent structure as above, and removed
4856         bogus casting between these event structures.
4857
4858         * cspi/spi-listener.h:
4859         Added keystring member of AccessibleKeystroke structure, to enable
4860         matching on event "names" rather than only hardware codes and
4861         keysyms.
4862
4863         * cspi/spi.h:
4864         Added keystrings member of AccessibleKeySet struct, to allow
4865         matching on event names (as above).
4866         Added declarations for SPI_createAccessibleKeySet and
4867         SPI_freeAccessibleKeySet.  Due to changes in libspi, we now pass
4868         event modmasks directly as unsigned ints rather than structs with
4869         refcounts, in the DeviceEventController methods.
4870
4871         * cspi/spi_registry.c:
4872         Add SPI_createAccessibleKeySet and SPI_freeAccessibleKeySet methods.
4873
4874         * cspi/spi-roletypes.h:
4875         Added documentation of newly added SPI Roles.
4876
4877         * cspi/bonobo/cspi-bonobo-listener.c:
4878         Changes in support of API changes above.
4879         
4880         * libspi/accessible.c:
4881         Converted APIs to use DeviceEvent structure (see IDL changes
4882         above). 
4883
4884         * registryd/deviceeventcontroller.c:
4885         Added DEControllerGrabMask structure to track keygrabs not only by
4886         modmask but by keyset as well; this allows us to do "global"
4887         (i.e. X) keygrabs on a per-key or keyset basis rather than always
4888         grabbing on AnyKey and then filtering after-the-fact.
4889         Bugfixes for event filtration mean that we don't get false matches
4890         on SPI_KEY_RELEASED, when only SPI_KEY_PRESSED was requested.
4891
4892         * registryd/deviceeventcontroller.c:
4893         Namespaced a number of static methods to use spi_ prefix.  Major
4894         revision to internals of global (i.e. X) key grabs.
4895
4896         * registryd/deviceeventcontroller.h:
4897         Removed keymask_list and added keygrabs_list to
4898         SpiDeviceEventController struct.
4899
4900         * test/simple-at.c:
4901         Added use of SPI_createAccessibleKeySet API when creating a
4902         listener for only one key.  Attach a listener to "shift spacebar
4903         SPI_KEY_RELEASE" as a demonstration.  Changed (incorrect) usage of
4904         X key event names to SPI key event names, so that listeners are
4905         registered for (SPI_KEY_PRESSED | SPI_KEY_RELEASED), for instance.
4906         
4907         * test/keysynth-demo.c:
4908         Changed (incorrect) use of X key event names (KeyPressed,
4909         KeyReleased) to SPI enums SPI_KEY_PRESSED and SPI_KEY_RELEASED.
4910         
4911
4912 2001-12-12  Bill Haneman <bill.haneman@sun.com>
4913
4914         * libspi/accessible.c:
4915         Convert all AtkRole enumerations to Accessibility_Role enums when
4916         getting a role from an AtkObject.
4917         
4918         * cspi/spi_accessible.c:
4919         Complete the conversion of Accessibility_Role enums at runtime to
4920         AccessibleRole (SPI_ROLE_*) roles in Accessible_getRole, so that
4921         role enums correctly match those given in spi-roletypes.h.  
4922         Re-synchronize the local names list for AccessibleRole_getName ().
4923         AccessibleRole_getName is now deprecated, since it duplicates the
4924         more reliable Accessible_getRoleName.
4925         Added some role types from Accessibility_Role.idl.
4926
4927         * idl/Accessibility_Role.idl:
4928         Added some role types used by AtkRole.
4929
4930 2001-12-12  Bill Haneman <bill.haneman@sun.com>
4931         
4932         * cspi/spi.h:
4933         * cspi/spi_registry.c:
4934         * cspi/spi_event.c:
4935         * cspi/cspi-bonobo-listener.c:
4936         Namespaced all methods that did not begin with an "SPI_" or
4937         "Accessible" prefix to "SPI_".  
4938
4939         * cspi/spi_main.c:
4940         Homogenized internal function namespace to "cspi_" for statics.
4941         
4942         * test/*.c:
4943         Patched tests to use the new CSPI API.
4944
4945         * docs/reference/cspi/at-spi-cspi-sections.txt:
4946         Updated docs to reflect namespace changes, and added a number of
4947         methods to the documentation.
4948         
4949         * registryd/registry.c:
4950         Changed use of strings and string hashes in listener event
4951         matching and parse_event_string to use GQuark, which is guaranteed
4952         unique.
4953         
4954         * registryd/registry.h:
4955         Squashed annoying warning.
4956
4957         * idl/Accessibility_Role.idl:
4958         Extended range of available Accessibility_Role values.
4959
4960         * cspi/spi_accessible.c:
4961         Re-ordered role names. 
4962
4963 2001-12-12  Bill Haneman <bill.haneman@sun.com>
4964
4965         * idl/Accessibility_Value.idl:
4966         Revert use of union back to CORBA_double, since the double type is
4967         more efficient and can contain the other types without loss of
4968         precision.
4969
4970         * idl/Accessibility_Accessible.idl:
4971         Added method Accessibility:Accessible:getRoleName, to complement
4972         Accessibility:Accessible:getRole.
4973
4974         * cspi/spi_accessible.c:
4975         * cspi/spi.h:
4976         Added C binding for above, Accessible_getRoleName (), and changed
4977         signature of Accessible_getRole () to return an AccessibleRole.
4978
4979         * cspi/spi-roletypes.h:
4980         Changed AccessibleRole_getName to return a char * instead of a
4981         const char *.  This method is now at least temporarily deprecated 
4982         in favor of asking Accessibles for their RoleNames directly.
4983
4984         * libspi/value.c:
4985         Revert to match Accessibility_Value.idl;
4986
4987         * cspi/spi_value.c:
4988         * cspi/spi.h:
4989         Change signature of AccessibleValue methods to use double rather
4990         than float.
4991
4992         * cspi/spi.h:
4993         * cspi/spi_accessible.c:
4994         Changed Accessible_getRole to return an AccessibleRole enum rather
4995         than a UTF-8 string.  The UTF-8 string can still be obtained via
4996         AccessibleRole_getName ().
4997         
4998         * test/test-simple.c:
4999         Add test_action.  Small fixup to match API change to Accessible_getRole.
5000
5001         * libspi/action.c:
5002         Bugfix for get_action_from_servant ().
5003
5004 2001-12-11  Michael Meeks  <michael@ximian.com>
5005
5006         * libspi/libspi.h: remove registry.h and
5007         desktop.h, deviceeventcontroller.h
5008
5009         * libspi/Makefile.am: remove registry.[ch],
5010         desktop.[ch], deviceeventcontroller.[ch]
5011
5012         * registryd/Makefile.am: add registry.[ch],
5013         desktop.[ch], rename registryd.c to registry-main.c.
5014         add deviceeventcontroller.[ch]
5015
5016 2001-12-11  Bill Haneman <bill.haneman@sun.com>
5017
5018         * test/simple-at.c:
5019         Replace setenv() call with putenv ().
5020
5021         * libspi/component.c:
5022         Bugfix in AccessibleComponent_getExtents (),
5023         (from Adi Dascal).
5024         
5025 2001-12-11  Michael Meeks  <michael@ximian.com>
5026
5027         * libspi/image.c (impl_getImageExtents): impl.
5028         (spi_image_class_init): upd.
5029
5030         * cspi/spi_image.c
5031         (AccessibleImage_getImageDescription): fix daft bug
5032         of mine (doh).
5033
5034         * test/test-simple.c (global_listener_cb): update
5035         to only quit if not --poke
5036         (main): catch --poke.
5037         (validate_accessible): upd. dumping, call test_image
5038         (test_image): impl.
5039
5040         * libspi/Makefile.am (IDL_DEPS): fixup the IDL
5041         dependencies.
5042
5043         * idl/Accessibility.idl: update all IDL includes.
5044
5045         * idl/*.idl - rename to namespace - this sucks, blame
5046         mjs' bad decision for oafd.
5047
5048         * test/test-simple.c (create_test_window): add more tests.
5049         (create_tree): split this out.
5050         (validate_accessible): bugfix.
5051
5052 2001-12-11  Michael Meeks  <michael@ximian.com>
5053
5054         * cspi/bonobo/cspi-bonobo-listener.c: 
5055         (cspi_kestroke_listener_unref),
5056         (cspi_event_listener_unref): impl. undoing previous
5057         homenous environment - for Bill.
5058
5059         * cspi/spi_table.c (long_seq_to_array): use
5060         malloc instead.
5061
5062         * cspi/spi_main.c: split out all bonoboish bits into
5063         bonobo/
5064
5065         * cspi/spi-impl.h: upd. typedefs.
5066
5067         * cspi/spi_registry.c: update to lowlevel API,
5068         return booleans to indicate success in some places.
5069
5070         * cspi/spi_event.c: update to lowlevel API.
5071
5072         * cspi/bonobo/Makefile.am: add.
5073
5074         * cspi/bonobo/cspi-lowlevel.h: add
5075
5076         * cspi/bonobo/cspi-bonobo.c: add
5077
5078         * cspi/bonobo/cspi-bonobo-listener.[ch]: impl.
5079
5080         * cspi/Makefile.am: remove spi-listener-impl.[ch],
5081         (SUBDIRS): add bonobo, link in the libs.
5082
5083         * cspi/spi-util.c: kill this file.
5084
5085         * TODO: merge in my bits.
5086
5087 2001-12-11  Michael Meeks  <michael@ximian.com>
5088
5089         * test/test-simple.c (test_value, test_table, main):
5090         remove unused variables causing warnings.
5091
5092         * configure.in: cleanup checks - require gail.
5093
5094 2001-12-11  Bill Haneman  <bill.haneman@sun.com>
5095
5096         * idl/Value.idl:
5097         Changed Value interface to use SValue (scalars) rather than
5098         assuming all values are floats.  This allows floats, doubles,
5099         longs, shorts, and unsigned values to be manipulated.
5100         Introduced Accessibility:SValue union.
5101
5102         * libspi/value.c:
5103         Updated to use new API above, and to work correctly with GValues
5104         of different types in AtkValue.
5105
5106         * cspi/spi_value.c:
5107         Updated to use new API above.  cspi's API is as yet unchanged.
5108
5109         * TODO: 
5110         Updated the Value revision action item.
5111         
5112 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
5113
5114         * test/test-simple.c:
5115         Added test_table (GtkTreeView widget in test window to follow).
5116         Un-commented test_value, added GtkRange widget.
5117         Added GtkTreeView widget with GtkListStore.  It passes regression
5118         test but leaks one SPI object for some reason.
5119
5120         * libspi/value.c:
5121         Fixed bug in impl__set_currentValue.
5122
5123 2001-12-10  Michael Meeks  <michael@ximian.com>
5124
5125         * cspi/spi_text.c: audit for exception handling,
5126         tolerating NULL object references safely etc.
5127
5128         * cspi/spi_value.c: ditto.
5129
5130         * cspi/spi_table.c (AccessibleTable_getSummary),
5131         (AccessibleTable_getAccessibleAt),
5132         (AccessibleTable_getRowHeader),
5133         (AccessibleTable_getColumnHeader),
5134         (AccessibleTable_getCaption): fix bugs hidden by
5135         incorrect casts.
5136         (long_seq_to_array): impl.
5137         (AccessibleTable_getSelectedRows),
5138         (AccessibleTable_getSelectedColumns): use it.
5139
5140 2001-12-10  Bill Haneman  <bill.haneman@sun.com>
5141
5142         * TODO:
5143         Added a TODO list (rough and short for now).
5144
5145         * cspi/spi_hyperlink.c:
5146         * cspi/spi_hypertext.c:
5147         Fixed macro name typos, and remove use of obsolete macro in 
5148         AccessibleHyperlink_getLink.
5149
5150         * cspi/spi_action.c:
5151         * cspi/spi_accessible.c:
5152         * cspi/spi_application.c:
5153         * cspi/spi_component.c:
5154         * cspi/spi_selection.c:
5155         * cspi/spi_text.c:
5156         * cspi/spi_value.c:
5157         Documentation fixes (removed return values from ref/unref methods).
5158
5159 2001-12-10  Michael Meeks  <michael@ximian.com>
5160
5161         * cspi/spi_action.c: audit for exception handling,
5162         tolerating NULL object references safely etc.
5163
5164         * cspi/spi_accessible.c: ditto.
5165
5166         * cspi/spi_component.c: ditto.
5167
5168         * cspi/spi_editabletext.c: ditto.
5169
5170         * cspi/spi_hyperlink.c: ditto.
5171
5172         * cspi/spi_hypertext.c: ditto.
5173
5174         * cspi/spi_image.c: ditto.
5175
5176         * cspi/spi_selection.c: ditto.
5177
5178 2001-12-10  Michael Meeks  <michael@ximian.com>
5179
5180         * configure.in: use cspi/libspi.pc.in instead.
5181
5182         * Makefile.am (pkgconfig_DATA): upd. to match.
5183
5184         * test/simple-at.c (report_focus_event): kill hacks around
5185         bad return values, use putenv not setenv
5186
5187         * libspi/desktop.c (impl_desktop_get_child_at_index): don't
5188         fire ChildGone - I killed it.
5189
5190         * libspi/component.c
5191         (impl_accessibility_component_get_extents): remove
5192         bogus return.
5193
5194         * idl/Accessible.idl: kill ChildGone exception.
5195
5196         * cspi/*.[ch]: kill int return from ref / unref.
5197         
5198         * cspi/spi_main.c (cspi_object_add_check): fold into
5199         (cspi_object_add): here.
5200
5201         * cspi/spi_component.c (AccessibleComponent_getExtents):
5202         handle exceptions elegantly.
5203
5204         * cspi/spi-private.h (cspi_check_ev_return),
5205         (cspi_return_if_fail): impl.
5206
5207         * cspi/spi_accessible.c: use extensively.
5208         (AccessibleStateSet_equals): add direct compare check.
5209
5210         * cspi/spi_selection.c: tolerate NULL objs, and check
5211         exceptions before return.
5212
5213         * cspi/spi-util.c (cspi_warn_ev): rename to
5214         (cspi_check_ev): this & don't pass ev in; no point.
5215
5216 2001-12-10  Michael Meeks  <michael@ximian.com>
5217
5218         * test/test-simple.c: use putenv not setenv
5219         (get_environment_vars): more chatty if you're not using
5220         the fun bits.
5221
5222         * test/simple-at.c: do the setenv so more people see the
5223         nice demo easily.
5224
5225 2001-12-10  Bill Haneman <bill.haneman@sun.com>
5226
5227         * libspi/registry.c:
5228         Changed check of CORBA_environment on notification to be a warning
5229         instead of an error for the moment, since we can recover from this
5230         error when caused by a queued notification from a dead app.
5231         
5232         * libspi/value.c:
5233         Fixes for spi_value, use G_TYPE_DOUBLE for atk_value values (as
5234         used by all current implementors of AtkValue), and coerce to
5235         CORBA_float. (Proper general case fix may require change to Value.idl).
5236
5237 2001-12-09  Bill Haneman <bill.haneman@sun.com>
5238
5239         * cspi/spi.h:
5240         * cspi/spi_event.c:
5241         * cspi/spi_accessible.c:
5242         Documentation fixes: added user_data params to documentation for 
5243         listeners and callbacks.  
5244
5245         * cspi/spi_accessible.c: 
5246         Changed AccessibleStateSet_compare to return a
5247         StateSet rather than return the difference set into a third parameter.
5248         
5249         
5250 2001-12-09  Bill Haneman <bill.haneman@sun.com>
5251
5252         * configure.in:
5253         Replace use of AM_PROG_XML_I18N_TOOLS macro with AC_PROG_INTLTOOL.
5254         remove 'dnl' comment line from AC_OUTPUT (autoconf doesn't like
5255         it). 
5256
5257         * Makefile.am:
5258         Remove subdirectory po from SUBDIRS for now.
5259
5260         * at-bridge/bridge.c:
5261         Beefed up a couple of debug printouts.
5262         One-line fix for signal notification name formatting.
5263
5264         * libspi/accessible.c:
5265         Added assertion to spi_accessible_new ().
5266
5267         * libspi/application.c:
5268         Put #ifdef qualifiers around a printf.
5269
5270         * libspi/value.c:
5271         Fixed derivation (from BONOBO_OBJECT to SPI_BASE).
5272
5273         * registryd/Makefile.am:
5274         * util/Makefile.am:
5275         Replaces use of XML_I18N_MERGE_SERVER_RULE with
5276         INTLTOOL_SERVER_RULE macro.
5277
5278         * test/simple-at.c:
5279         Added an event listener for several ATK signals, for
5280         testing and debugging.  Removed a few g_warnings.
5281         Added test output if focussed item implements the Value interface.
5282
5283         * test/test-simple.c:
5284         Added test_value () function (known not to pass at the moment, so
5285         not actually called yet.
5286         
5287 2001-12-08  Michael Meeks  <michael@ximian.com>
5288
5289         * at-bridge/bridge.c (bridge_focus_tracker),
5290         (emit_eventv): fix the same ref. leak.
5291         (register_atk_event_listeners): don't leak.
5292
5293         * cspi/spi-listener-impl.c (cspi_event): more 
5294         protection from client code.
5295
5296         * test/test-simple.c (test_desktop): unref the app.
5297
5298         * test/Makefile.am: upd. TESTS.
5299
5300         * at-bridge/bridge.c (bridge_exit_func): release the registry.
5301
5302         * test/keysynth-demo.c (keysynth_exit): unref the listeners.
5303
5304         * cspi/spi_accessible.c (Accessible_queryInterface): constify.
5305
5306         * cspi/spi_registry.c: constify in strings.
5307         (deregisterGlobalEventListenerAll): don't release the ref.
5308
5309         * cspi/spi.h: start removing redundant / conflicting
5310         gtkdoc comments, making the API readable at a glance :-)
5311         
5312         * cspi/spi_event.c (AccessibleEventListener_unref): impl.
5313
5314         * test/keysynth-demo.c (keysynth_exit, main): upd.
5315
5316         * test/simple-at.c (main, simple_at_exit): upd.
5317
5318         * test/test-simple.c (unutterable_horror): kill.
5319         (utterable_normal_derefs): kill.
5320         (main): upd & do a setenv before gtk_init, so that we
5321         can use memprof - and to save the pain of remembering
5322         this, if we're running under memprof - don't exit.
5323
5324         * cspi/spi_main.c (SPI_exit): return exit status
5325         for cspi.
5326         (SPI_event_quit): impl.
5327         (SPI_event_main): simplify.
5328         (cspi_is_gnome_app): kill.
5329         (SPI_init): kill isGNOMEapp arg.
5330
5331         * at-bridge/bridge.c (register_atk_event_listeners):
5332         re-instate the unref.
5333         (bridge_exit_func): don't re-activate the registry,
5334         protect vs. theoretical re-entry, use the
5335         AT_BRIDGE_SHUTDOWN env. var to determine whether to
5336         assert a clean shutdown - for regression tests.
5337
5338 2001-12-08  Abel Cheung  <maddog@linux.org.hk>
5339
5340         * configure.in: Comment out dummy i18n support for now,
5341           otherwise it fails to build.
5342         * idl/Makefile.am: Add Selection.idl and Hypertext.idl to
5343           EXTRA_DIST. They are missing in tarball.
5344
5345 2001-12-07  Michael Meeks  <michael@ximian.com>
5346
5347         * util/magnifier.c: kill bonobo activation reg. race.
5348
5349         * libspi/component.c
5350         (impl_accessibility_component_get_extents): make it match
5351         it's sig.
5352
5353         * libspi/registry.c (_registry_notify_listeners):
5354         re-remove X headers & reconcile conflicts.
5355         (spi_listener_struct_free): bad conflict resolve.
5356         (impl_accessibility_registry_register_application):
5357         more bad merging fixed.
5358         (impl_accessibility_registry_deregister_application): ditto.
5359         (spi_registry_new): ditto.
5360         (spi_registry_init): don't have an applications field.
5361
5362 [ merge fixups2 branch to here ]
5363 2001-12-07  Michael Meeks  <michael@ximian.com>
5364
5365         * test/simple-at.c (report_focus_event),
5366         (report_focussed_accessible): remove g_warning debug.
5367
5368 2001-12-07  Michael Meeks  <michael@ximian.com>
5369
5370         * test/test-simple.c (validate_tree): comment out some checks.
5371         (test_desktop): app now not registered idly - horay.
5372
5373 2001-12-07  Michael Meeks  <michael@ximian.com>
5374
5375         * cspi/spi_registry.c
5376         (registerAccessibleKeystrokeListener): clean, stop it leaking
5377         great swathes of memory, and device event controller references.
5378         ensure we always pass valid sequences.
5379         (deregisterAccessibleKeystrokeListener): ditto.
5380         (generateKeyEvent): upd.
5381
5382         * at-bridge/bridge.c (bridge_key_listener): handle
5383         registry dead exception gracefully.
5384         (bridge_focus_tracker, emit_eventv): free ev.
5385
5386         * test/simple-at.c (report_focus_event): fix polarity.
5387
5388         * libspi/application.c (notify_listeners): kill the ev
5389         argument, and make sure we init the ev we use.
5390         (spi_application_object_event_listener): split out a chunk
5391         (get_atk_object_ref): here & fixup.
5392         (reverse_lookup_name_for_toolkit_event): make const.
5393         (spi_application_toolkit_event_listener): fixup, kill leaks
5394         ref problems etc.
5395
5396         * at-bridge/bridge.c (register_atk_event_listeners):
5397         don't unref the noop object - causes grief.
5398
5399         * libspi/registry.c: remove the X headers.
5400         turn off the debug churn.
5401
5402         * libspi/accessible.c (spi_accessible_new_return): only
5403         release the ref if we are supposed to [doh]
5404
5405         * test/simple-at.c (report_button_press, report_focus_event):
5406         guard vs. unexpected exit.
5407
5408         * at-bridge/bridge.c (gtk_module_init): prune printf.
5409         (bridge_exit_func): fix app unref.
5410
5411         * libspi/Makefile.am: don't install registry or desktop.h
5412
5413         * libspi/*.h: update includes.
5414
5415         * libspi/application.h: don't include ourself, or
5416         other redundant headers.
5417
5418 2001-12-06  Michael Meeks  <michael@ximian.com>
5419
5420         * libspi/accessible.c
5421         (get_accessible_from_servant): impl.
5422         Upd. all CORBA impl.s to use it killing cut and paste.
5423
5424         * cspi/spi_main.c (cspi_cleanup): guard vs. double
5425         invokes.
5426         (SPI_init): register atexit cleanup handler here.
5427
5428 2001-12-06  Michael Meeks  <michael@ximian.com>
5429
5430         * at-bridge/bridge.c (gtk_module_init): g_error on
5431         activation exception
5432
5433 2001-12-06  Michael Meeks  <michael@ximian.com>
5434
5435         * at-bridge/bridge.c (gtk_module_init): some sort of
5436         confusing merge clash - reverted.
5437         (bridge_idle_init): ditto.
5438
5439         * test/test-simple.c (main, utterable_normal_derefs):
5440         merge from Bill - somehow not committed.
5441
5442 2001-12-06  Michael Meeks  <michael@ximian.com>
5443
5444         * libspi/value.c (spi_value_class_init): upd.
5445         (spi_value_finalize): kill.
5446
5447         * libspi/table.c (spi_table_finalize): kill.
5448         (spi_table_interface_new): upd.
5449         (spi_table_class_init): upd.
5450         (get_table_from_servant): impl.
5451         Upd. all CORBA impl.s to use it killing yet more cut and paste.
5452
5453         * libspi/selection.c (spi_selection_finalize): kill.
5454         (spi_selection_interface_new): upd.
5455         (spi_selection_class_init): upd.
5456         (get_selection_from_servant): impl.
5457         Upd. all CORBA impl.s to use it killing yet more cut and paste.
5458
5459         * libspi/relation.c (spi_relation_finalize): kill.
5460         (spi_relation_class_init, spi_relation_new): upd
5461
5462         * libspi/image.c (spi_image_finalize): kill.
5463         (spi_image_class_init): upd.
5464         (spi_image_interface_new): upd.
5465         (get_image_from_servant): impl.
5466         Upd. all CORBA impl.s to use it killing yet more cut and paste.
5467
5468         * libspi/hyperlink.c (spi_hyperlink_class_init): upd.
5469         (spi_hyperlink_finalize): kill.
5470         (spi_hyperlink_new): upd.
5471         (get_hyperlink_from_servant): impl.
5472         Upd. all CORBA impl.s to use it killing yet more cut and paste.
5473
5474         * libspi/hypertext.c (spi_hypertext_interface_new): upd.
5475         (spi_hypertext_finalize): kill.
5476         (spi_hypertext_class_init): upd.
5477         (get_hypertext_from_servant): impl.
5478         Upd. all CORBA impl.s to use it killing yet more cut and paste.
5479
5480         * libspi/editabletext.c (spi_editable_text_finalize): kill.
5481         (spi_editable_text_interface_new): upd.
5482         (get_editable_text_from_servant): impl.
5483         Upd. all CORBA impl.s to use it killing yet more cut and paste.
5484         
5485         * libspi/text.c (get_text_from_servant): impl.
5486         All impls - update to use it killing more cut and paste,
5487         also fix bad string returns on duff args ( a somewhat
5488         impossible case to handle - but hey ).
5489         (spi_text_construct): impl.
5490         (spi_text_interface_new): upd.
5491         (spi_text_object_finalize): kill.
5492
5493         * libspi/component.c
5494         (accessibility_component_object_finalize): kill.
5495         (spi_component_class_init): upd.
5496         (get_component_from_servant): impl. helper to kill cut & paste.
5497         (impl_accessibility_component_contains): 
5498         (impl_accessibility_component_get_accessible_at_point): 
5499         (impl_accessibility_component_get_position): 
5500         (impl_accessibility_component_get_extents): 
5501         (impl_accessibility_component_get_mdi_z_order): 
5502         (impl_accessibility_component_get_layer): 
5503         (spi_component_interface_new): upd.
5504
5505         * libspi/action.c (spi_action_finalize): kill.
5506         (spi_action_class_init): upd. inherit from SpiObject.
5507         (spi_action_interface_new): upd.
5508         (get_action_from_servant): impl. helper to reduce cut & paste.
5509         (impl_getKeyBinding, impl_getName, impl_doAction),
5510         (impl_getDescription): Use it everywhere.
5511
5512         * cspi/spi_main.c (get_live_refs): a pointer hash.
5513         (spi_object_hash, spi_object_equal): comment out.
5514         There are issues with CORBA object hashing that need
5515         solving.
5516
5517         * libspi/application.c (spi_application_init),
5518         (spi_application_new): upd.
5519
5520         * libspi/accessible.c (spi_accessible_object_finalize): kill.
5521         (spi_accessible_class_init): upd.
5522         s/accessible/object/ in epv methods.
5523
5524 2001-12-05  Bill Haneman <bill.haneman@sun.com>
5525
5526         * at-bridge/bridge.c:
5527         Reorder the bridge initialization into the bridge gtk_module_init,
5528         an immediate call to bridge_register_app, and an idle_add for
5529         register_atk_event_listeners (the only code that *must* wait until
5530         GTK+ is initialized) via bridge_idle_add. Bridge_register_app does
5531         the activation, creates the application's Accessible object, and
5532         queues the bridge_idle_init function.  Restored call to
5533         Accessibility_Registry_deregisterApplication().  
5534         Prior to making this call we obtain a new reference to the
5535         registry, which is a temporary hack that helps us handle apps that
5536         shut down the bonobo mainloop before we get there.
5537
5538         * libspi/registry.c:
5539         Fix string leakage in debug block, and don't segv if a an app
5540         dies before its event notifications have been propagated.
5541
5542         * cpi/spi_util.c:
5543         Modify cspi_check_ev() to call g_warning() rather than g_error(),
5544         as stopgap measure until we get proper exception handling when 
5545         objects die during or before interrogation.  
5546
5547         * cspi/spi_main.c:
5548         * cspi/spi.h:
5549         Moved use of isGNOMEApp flag from SPI_event_main to SPI_init.
5550         Also changed default value of is_gnome_app to TRUE.
5551
5552         * test/simple-at.c:
5553         * test/keysynth-demo.c:
5554         Changed use of SPI_init and SPI_event_main to reflect API change above.
5555
5556         * test/simple-at.c:
5557         Made report_focus_event check the warning value from getName
5558         before reporting on focussed accessible; simplifies handling of
5559         notifications from dead objects.
5560
5561         * test/test-simple.c: (Changes not in this patch since source is
5562         not in CVS ?)
5563         
5564 2001-12-05  Michael Meeks  <michael@ximian.com>
5565
5566         * registryd/registryd.c (main): protect against
5567         bonobo-activation startup race condition.
5568
5569         * cspi/spi_main.c (cspi_object_add_check): cope
5570         with the exception elegantly.
5571
5572         * idl/Accessible.idl: decl. ChildGone
5573
5574         * libspi/desktop.c (spi_desktop_dispose): impl.
5575         (spi_desktop_class_init): upd.
5576         (spi_desktop_add_application),
5577         (spi_desktop_remove_application),
5578         (abnormal_application_termination): impl.
5579         (impl_desktop_get_child_at_index): re-impl.
5580
5581         * libspi/registry.c
5582         (impl_accessibility_registry_deregister_application),
5583         (impl_accessibility_registry_register_application): 
5584         kill excessive debug clutter.
5585
5586         * test/test-simple.c (test_misc): test some NULL
5587         tolerance. (main): upd.
5588
5589         * cspi/spi_main.c (cspi_accessible_is_a): a NULL
5590         implements no interfaces - so let's not crash.
5591
5592         * cspi/spi_accessible.c (Accessible_queryInterface): ditto.
5593
5594         * libspi/accessible.c (spi_accessible_new_return): impl.
5595         helper to calm the cut and paste, to cope with
5596         NULL AtkObjects effectively and efficiently, and to kill
5597         the referencing bugs.
5598
5599         * libspi/table.c (impl_getAccessibleAt),
5600         (impl_getRowHeader, impl_getColumnHeader): upd.
5601
5602         * libspi/hyperlink.c (impl_getObject): upd.
5603
5604         * libspi/accessible.c
5605         (impl_accessibility_accessible_get_child_at_index): upd.
5606
5607         * libspi/component.c
5608         (impl_accessibility_component_get_accessible_at_point): upd.
5609
5610         * test/test-simple.c (test_editable_text, test_text): impl.
5611         some simple tests.
5612
5613         * cspi/spi_editabletext.c
5614         (AccessibleEditableText_insertText): constify.
5615
5616         * test/test-simple.c (focus_me): make more robust.
5617
5618         * libspi/accessible.c: remove some printfs in methods that
5619         we test and work fine, so we can get a clean tree dump.
5620
5621         * test/test-simple.c (validate_accessible),
5622         (validate_tree): make tree dumping pretty too.
5623
5624         * at-bridge/bridge.c (bridge_signal_listener): upd. so
5625         it builds without debug on.
5626
5627         * test/test-simple.c (validate_accessible): fix the most
5628         ludicrous bug.
5629
5630         * cspi/spi_main.c (spi_object_release): leave the nicely
5631         blanked memory around if in debug mode.
5632
5633         * cspi/spi-listener-impl.c (cspi_event): use add_check.
5634
5635 [committed to fixups2]
5636 2001-12-05  Michael Meeks  <michael@ximian.com>
5637
5638         * libspi/editabletext.c
5639         (spi_editable_text_class_init): g_type_class_peek_parent,
5640         not interface peek - so we finalize cleanly.
5641
5642         * libspi/accessible.c (spi_accessible_new): kill debug.
5643
5644         * test/test-simple.c (validate_accessible): fix ref.
5645         leak, print strings before freeing them; sigh, comment a
5646         chunk out due to strangeness.
5647         (validate_tree): unref the child after use.
5648
5649         * cspi/spi_component.c (AccessibleComponent_getLayer):
5650         add missing break statement, switch on zlayer not the
5651         uninitialized retval.
5652
5653         * cspi/spi_main.c (cspi_object_add): add assert, local ref
5654         before (possibly re-entering) remote unref.
5655
5656         * test/simple-at.c (main): unref the desktop.
5657
5658         * cspi/spi_accessible.c (cspi_accessible_is_a): move 
5659         into:
5660         
5661         * cspi/spi_main.c (cspi_accessible_is_a): here to 
5662         isolate bonobo API usage more.
5663
5664         * libspi/registry.c (impl_accessibility_registry_register_application): 
5665         prune bogus comment.
5666
5667 2001-12-04  Michael Meeks  <michael@ximian.com>
5668
5669         * test/test-simple.c (validate_tree): upd.
5670         IndexInParent check to make it more lucid.
5671         (validate_accessible): dump the tree.
5672
5673         * libspi/accessible.c (de_register_public_ref),
5674         (get_public_refs): impl.
5675         (spi_accessible_new): make more efficient & intuitive.
5676         Now IndexInParent check works.
5677
5678 2001-12-04  Michael Meeks  <michael@ximian.com>
5679
5680         * cspi/spi-util.h: remove.
5681
5682         * cspi/spi.h: move SPI_freeString here
5683
5684         * libspi/component.c (impl_accessibility_component_get_layer): 
5685         warning fixage.
5686         (impl_accessibility_component_get_mdi_z_order): ditto,
5687         return -1 on error - is this ok ?
5688
5689         * test/test-simple.c (test_application): impl.
5690
5691         * cspi/spi_accessible.c (Accessible_getApplication),
5692         (Accessible_isApplication): impl.
5693
5694         * libspi/registry.c (spi_listener_struct_free): release
5695         the CORBA reference too.
5696
5697         * libspi/accessible.c
5698         (impl_accessibility_accessible_get_parent): fix ref leak.
5699
5700         * libspi/registry.c (spi_registry_new): make the registry
5701         immortal - we don't want it to go away ever.
5702
5703         * libspi/application.c
5704         (spi_accessible_application_finalize): impl. cleanup.
5705
5706         * cspi/spi_registry.c
5707         (deregisterGlobalEventListenerAll),
5708         (deregisterGlobalEventListener),
5709         (deregisterAccessibleKeystrokeListener): fix ref leak.
5710
5711         * cspi/spi_main.c (SPI_init): remove redundant ref.
5712
5713         * test/test-simple.c (unutterable_horror): impl. to force a
5714         clean shutdown.
5715         (main): use it.
5716
5717         * libspi/registry.c
5718         (impl_accessibility_registry_deregister_application): release
5719         the application when we de-register it.
5720
5721         * at-bridge/bridge.c (bridge_exit_func): comment out shutdown
5722         until we have the infastructure to get it right.
5723
5724 2001-12-03  Michael Meeks  <michael@ximian.com>
5725
5726         * libspi/Makefile.am: only build eventlistener.[ch]
5727
5728         * libspi/accessible.c
5729         (impl_accessibility_accessible_get_child_at_index): don't leak.
5730
5731         * at-bridge/bridge.c (bridge_exit_func): cope with an exit
5732         before we hit the idle handler.
5733
5734         * cspi/spi-util.c (cspi_check_ev): g_error is far nicer for
5735         debugging than exit.
5736
5737         * at-bridge/bridge.c (bridge_focus_tracker): fix ref issue.
5738
5739         * libspi/listener.c (impl_notify_event): check source
5740         not NIL before unref.
5741
5742         * libspi/registry.c (impl_registry_notify_event): ditto.
5743
5744         * libspi/eventlistener.c
5745         (impl_accessible_event_notify_event): unref the source.
5746
5747         * libspi/accessibleeventlistener.c
5748         (impl_accessible_event_notify_event): unref the source.
5749
5750         * idl/Event.idl: remove 'hash_id' attribute - of no
5751         concievable use.
5752
5753         * libspi/application.c (notify_listeners): upd list
5754         iteration & sig.
5755         (spi_application_object_event_listener), 
5756         (spi_application_toolkit_event_listener): upd to do correct
5757         CORBA ref counting.
5758
5759         * libspi/registry.c
5760         (_registry_notify_listeners): update.
5761         (parse_event_type): this method also leaks like a sieve.
5762         (impl_accessibility_registry_deregister_global_event_listener): 
5763         fix ETYPE_WINDOW case.
5764
5765         * libspi/application.c
5766         (impl_accessibility_application_register_object_event_listener): 
5767         kill leak.
5768
5769         * libspi/hyperlink.c (impl_getObject): fix ref mistake.
5770
5771         * libspi/hypertext.c (impl_getLink): ditto.
5772
5773         * cspi/spi_main.c (cspi_object_add): remove
5774         bogus CORBA_Object_duplicate.
5775
5776         * cspi/spi-listener-impl.c (cspi_event): dup/ref
5777         on the object_add.
5778
5779         * cspi/spi_accessible.c
5780         (Accessible_getRelationSet): fix leak / referencing issue.
5781
5782         * cspi/spi_main.c (spi_object_hash, spi_object_equal): impl.
5783         (cspi_object_add, cspi_object_unref): upd.
5784         (spi_object_release, get_live_refs): impl.
5785         (cspi_cleanup): simplify.
5786
5787         * *.[ch]: s/boolean/SpiBoolean/
5788
5789         * cspi/spi_accessible.c (role_names): actualy order so it
5790         corresponds with the enum !
5791
5792         * test/test-simple.c (test_roles): check some role strings
5793         vs. enums to detect offset errors.
5794
5795 2001-12-01  Michael Meeks  <michael@ximian.com>
5796
5797         * cspi/spi_main.c (cspi_object_add_check): impl. helper.
5798
5799         * cspi/spi_accessible.c (Accessible_getChildAtIndex):
5800         check ev before 
5801         (Accessible_getChildAtIndex): use cspi_add_check so we
5802         check the ev before using a (possibly) invalid value.
5803
5804         * libspi/accessible.c
5805         (impl_accessibility_accessible_get_parent): don't segv
5806         on a NULL parent.
5807
5808         * at-bridge/bridge.c (gtk_module_init): upd.
5809         (bridge_property_event_listener): don't leak strings
5810         and events !
5811         (bridge_state_event_listener),
5812         (bridge_property_event_listener): don't use a static
5813         buffer in case of recursive event emission &
5814         re-enterancy - split out the swathe of cut and paste
5815         into:
5816         (emit_eventv): and fix 2 ref leaks here & comply to the
5817         coding style.
5818         (bridge_register_app): rename to 
5819         (bridge_idle_init): this and kill arg parsing, split
5820         various inits & bonobo-activation registration to module
5821         init time, kill referencing error.
5822         (bridge_exit_func): fix the same leak.
5823         (bridge_focus_tracker): don't leak event structures
5824         and strings.
5825         (bridge_signal_listener): more leakage and cut & paste
5826         fixage.
5827         (bridge_key_listener): return the result - FIXME is
5828         this polarity correct ?
5829         (accessibility_keystroke_from_atk_key_event): rename
5830         (accessibility_init_keystroke_from_atk_key_event): and stop
5831         leakage.
5832         (gtk_module_init): return a value - not that it is checked by
5833         Gtk - but hey.
5834         (bridge_key_listener): register my horror at casting between
5835         IDL defined structs.
5836         (bridge_get_registry): kill - not used.
5837
5838         * cspi/spi_accessible.c (Accessible_getRole): make return const.
5839
5840         * test/test-simple.c (test_roles): impl.
5841         (test_desktop, validate_accessible, validate_tree): impl.
5842
5843         * cspi/spi_accessible.c (role_names): fixup bogus
5844         MAX_ROLES setup, make constants const for efficient linkage
5845         (AccessibleRole_getName): conform to coding style, make
5846         return 'const'
5847
5848 2001-11-30  Michael Meeks  <michael@ximian.com>
5849
5850         * cspi/spi.h: add missing prototype.
5851
5852         * libspi/registry.c (spi_listener_struct_new): fix sig.
5853
5854         * test/Makefile.am: add test-simple
5855
5856         * test/test-simple.c: add
5857
5858         * test/test.sh: add.
5859
5860         * cspi/spi_main.c (SPI_init): make SPI_inited module global,
5861
5862         * at-bridge/bridge.c (gtk_module_init): don't do an idle init,
5863         do it straight - since otherwise we often get an activation race.
5864
5865 [ work before Bill duplicated a chunk of it ... ]
5866 2001-11-30  Michael Meeks  <michael@ximian.com>
5867
5868         * libspi/keystrokelistener.c
5869         (spi_keystroke_listener_class_init): fixup arg
5870         count (doh).
5871
5872         * libspi/eventlistener.c
5873         (spi_event_listener_class_init): ditto.
5874
5875         * tests/test.sh: add.
5876
5877         * cspi/spi-listener-impl.h: update macros.
5878
5879         * cspi/spi-listener-impl.c
5880         (cspi_event_listener_remove_callback): add
5881         correct pre-conditions.
5882
5883         * cspi/spi_main.c (SPI_exit): guard vs. double
5884         exits, exit the mainloop nicely.
5885         (SPI_event_main): make more sense.
5886         (SPI_init): move the atexit evilness here so we
5887         always do it (yuck).
5888         (SPI_event_main): upd.
5889
5890         * test/simple-at.c: update for listener changes.
5891
5892         * registryd/registryd.c (main): prune kruft.
5893
5894         * libspi/libspi.h: upd.
5895
5896         * libspi/eventlistener.[ch]: rename broken macros.
5897
5898         * libspi/accessibleeventlistener.[ch]: remove.
5899
5900         * libspi/*.[ch]: IS_SPI_... -> SPI_IS_...
5901
5902         * test/test-simple.c: Add - automated tests.
5903
5904         * cspi/spi-listener-impl.c (cspi_event),
5905         (cspi_key_event): add user_data to invoke.
5906         (cspi_keystroke_listener_finalize): impl.
5907         (cspi_keystroke_listener_class_init): upd.
5908
5909         * cspi/spi_event.c
5910         (createAccessibleEventListener),
5911         (AccessibleEventListener_addCallback),
5912         (createAccessibleKeystrokeListener),
5913         (AccessibleKeystrokeListener_addCallback): upd.
5914
5915         * libspi/deviceeventcontroller.c
5916         (spi_device_event_controller_check_key_event): add public proto.
5917
5918         * libspi/registry.c
5919         (impl_accessibility_registry_deregister_global_event_listener): 
5920         always init listeners.
5921         (_registry_notify_listeners): yes it is.
5922
5923         * cspi/spi-listener-impl.c (cspi_key_event): 
5924         move debug to here.
5925         (cspi_event_listener_finalize): impl.
5926         (cspi_event_listener_class_init): hook up.
5927         (event_handler_new, event_handler_free),
5928         (event_list_remove_by_callback): impl.
5929         (cspi_event_listener_remove_callback),
5930         (cspi_keystroke_listener_remove_callback),
5931         (cspi_keystroke_listener_add_callback),
5932         (cspi_event_listener_add_callback): upd.
5933
5934         * libspi/keystrokelistener.c
5935         (keystroke_listener_object_finalize): kill
5936         (spi_keystroke_listener_class_init): upd.
5937         (spi_keystroke_listener_add_callback),
5938         (spi_keystroke_listener_remove_callback): kill,
5939         use signals.
5940         (impl_key_event): prune drasticaly.
5941
5942         * libspi/eventlistener.c
5943         (spi_event_listener_add_callback),
5944         (spi_event_listener_remove_callback): kill, use
5945         signals.
5946         (impl_accessible_event_notify_event): upd.
5947         (spi_event_listener_object_finalize): remove.
5948
5949         * libspi/Makefile.am: use eventlistener.[ch]
5950
5951 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
5952
5953         * libspi/registry.c (_registry_notify_listeners):
5954         Changed listener loop iteration to use preferred convention.
5955         Got rid of string memory leaks caused be calling g_strconcat
5956         inside function calls.
5957
5958         * libspi/registry.c (parse_event_type):
5959         Stopped g_strconcat memory leaks, free the g_strsplit return,
5960         g_strdup the split pieces when used, etc.
5961
5962 2001-12-04  Bill Haneman  <bill.haneman@sun.com>
5963
5964         * idl/State.idl: 
5965         Change method 'compare' to return a 'difference set' rather than
5966         taking a StateSet as an out parameter (more Java-friendly).
5967
5968         * idl/Accessible.idl:
5969         Added CORBA struct 'BoundingBox', to faciliate API changes below:
5970         
5971         * idl/Component.idl:
5972         * idl/Image.idl:
5973         Changed methods 'getExtents' and 'getImageExtents' in these
5974         interfaces to return a BoundingBox structure.  
5975         (getPosition and getSize are redundant and possibly should be
5976         removed, rather than creating a corresponding Point struct.)
5977
5978         * cspi/spi_component.c:
5979         Modify implementation of getExtents to reflect the above IDL
5980         change.
5981         
5982         * cspi/spi_image.c:
5983         * cspi/spi.h:
5984         Add (missing) AccessibleImage_getExtents () API.
5985
5986         * docs/reference/cspi/at-spi-cspi-sections.txt:
5987         Added AccessibleImage_getImageExtents () to docs.
5988         
5989 2001-12-03  Bill Haneman  <bill.haneman@sun.com>
5990
5991         * idl/Component.idl:
5992         Added two methods, getLayer () and getMDIZOrder (), to reflect
5993         the new ATK methods atk_object_get_layer and
5994         atk_object_get_mdi_z_order. (Which arguably should be part of the
5995         AtkComponent API and AtkObject).  Also added an enum,
5996         ComponentLayer, for the first method's return value.
5997
5998         * libspi/component.c:
5999         Added implementations for these methods.
6000
6001         * cspi/spi_component.c:
6002         * cspi/spi.h:
6003         Added cspi binding methods for above, 
6004         AccessibleComponent_getLayer() and
6005         AccessibleComponent_getMDIZOrder().
6006         Added cspi enum 'AccessibleComponentLayer'.
6007
6008         * docs/reference/cspi/at-spi-cspi-sections.txt:
6009         Added above methods to docs.
6010
6011         * cspi/spi-impl.h:
6012         * cspi/spi*.[ch]:
6013         Changed typedef for 'boolean' type (and all references to it) to
6014         SPIBoolean, to avoid keyword clashes with C++.
6015
6016         * test/simple-at.c:
6017         Changed usages of 'boolean' to SPIBoolean.
6018
6019         * test/keysynth-demo.c:
6020         Changed usages of 'boolean' to 'gboolean' (since this is a gnome
6021         app), except where SPIBoolean is required by the callbacks API.
6022         
6023 2001-12-02  Bill Haneman  <bill.haneman@sun.com>
6024
6025         * cspi/spi_registry.c:
6026         Removed obsolete X event loop for passive keygrabs (which now
6027         lives in libspi).
6028
6029         * registryd/registryd.c:
6030         Removed unnecessary call to gdk_init() [cruft]. This also allows
6031         removal of requisite gdk-2.0 from REGISTRYD_LIBS/CFLAGS in
6032         * configure.in.
6033
6034 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
6035
6036         * docs/reference/cspi:
6037         Included docs for SPI_freeString in generated documentation.
6038
6039         * cspi/spi-util.c:c
6040         Renamed spi_freeString to SPI_freeString, for consistency.  Added
6041         documentation for this function.
6042
6043         * cspi/spi-util.h:
6044         Renamed spi_freeString to SPI_freeString, for consistency.  
6045         Removed obsolete method declaration string_from_corba_string.
6046
6047         * test/keysynth-demo.c:
6048         Small tweak to comments.
6049
6050         * test/simple-at.c:
6051         Stopped leaking the strings returned from CSPI. 
6052
6053 2001-11-28  Bill Haneman  <bill.haneman@sun.com>
6054
6055         Merged Michael's branch (see his ChangeLog entries below).
6056         
6057         * at-bridge/bridge.c: Explicitly hold a ref to the registry while
6058         bridge is alive, release on exit.
6059         
6060         * cspi/spi-listener-impl.c (cspi_event_listener_add_callback):
6061         Fix type check macro.
6062         
6063         * cspi/spi_event.c:
6064         Added AccessibleKeystrokeListener_unref() method to reduce leakage.
6065         
6066         * cspi/spi_main.c: 
6067         Added is_gnome_app static, and method cspi_is_gnome_app(), 
6068         so we can call the appropriate shutdown routine at exit in SPI_exit.
6069         
6070         * cspi/spi_main.c (cspi_object_ref):
6071         Duplicate the corba object passed in, since we're keeping it around.
6072         
6073         * cspi/SPI_exit.c, cspi_cleanup:
6074         Moved the releasing of the live refs to its own function, so we
6075         can put it in g_atexit ().  Call the appropriate shutdown API
6076         depending on whethe calling client is a gnome app or not
6077         (bonobo_main_quit or CORBA_ORB_shutdown).
6078         
6079         * cspi/spi_registry.c (deregisterGlobalEventListenerAll):
6080         Unref the listener when this method is called, after
6081         deregistration.  Updated the API docs to note this behavior.
6082
6083         * libspi/accessible.c (impl_get_parent, impl_get_child_at_index):
6084         Bugfixes: Ref the bonobo object when returning a parent or child 
6085         reference, or an AccessibleRelation.  Generally made sure
6086         BonoboObject refcount is incremented whenever we return an
6087         Accessible.
6088
6089         * libspi/accessibleeventlistener.c (spi_event_listener_class_init):
6090         Fixed typo/bug in signal declaration.
6091         
6092         * libspi/accessibleeventlistener.h:
6093         Fixed a type macro.
6094
6095         * libspi/application.c (spi_application_new):
6096         Fixed leak in initialization.
6097
6098         * libspi/desktop.c:
6099         Remembered to increment bonobo-object refcount when returning
6100         children (applications) from desktop object.
6101         Added (empty) finalize method.
6102
6103         * libspi/deviceeventcontroller.c:
6104         Hold a ref to listeners inside DEControllerKeyListeners.
6105         Added dec_key_listener_free() method.  Use prepend instead of
6106         append in key_listener list.  Fixed some refcount madness and
6107         leaks in the listener registration/deregistration - deregistration
6108         now calls dec_key_listener_free() on listeners, and on the
6109         temporarily constructed dec_key_listener() used to perform the search/match.
6110
6111         * libspi/hypertext.c (spi_hypertest_finalize):
6112         Fixed 'double unref' of AtkObject held by parent SpiAccessibleText
6113         class.  Also fixed spi_hypertext_interface_new() and
6114         SpiHypertextClass.  Fixed a couple of paren-whitespace formatting bugs.
6115
6116         * libspi/hypertext.h: 
6117         Removed pointless and duplicate AtkObject pointer from
6118         SpiHypertextClass.
6119
6120         * libspi/keystrokelistener.c:
6121         Fixed incorrect type of keystroke_listener_parent_class,
6122         renamed keystroke_listener_object_finalize to
6123         spi_keystroke_listener_object_finalize.
6124         Fixed typo in signal declaration
6125         (spi_keystroke_listener_class_init).
6126
6127         * libspi/registry.c:
6128         Added funcsions spi_listener_struct_new() and
6129         spi_listener_struct_free() to help with memory management issues.
6130         We also now use these methods instead of gnew + poking stuff into
6131         the struct, and to decrement listener counts/free the listeners
6132         when deregistering them.
6133         Fix more refcount bugs in getDesktop() and
6134         getDeviceEventController().  
6135
6136         * test/simple-at.c:
6137         De-ref the desktop after enumerating the applications.  Explicitly
6138         decrement the refcounts on the created listeners on exit (using
6139         _unref for keystroke listeners, and via the
6140         deregisterGlobalEventListenerAll command for other event
6141         listeners).
6142         
6143 2001-11-27  Michael Meeks  <michael@ximian.com>
6144
6145         * cspi/spi-listener.h: fixup enum.
6146
6147 2001-11-27  Michael Meeks  <michael@ximian.com>
6148
6149         * cspi/spi-listener-impl.c (cspi_event_listener_new),
6150         (cspi_keystroke_listener_new): Use the cspi variants.
6151
6152 2001-11-26  Michael Meeks  <michael@ximian.com>
6153
6154         * test/keysynth-demo.c: fix 2 compile warnings, missing
6155         type in decl. etc.
6156
6157         * test/simple-at.c (report_focussed_accessible),
6158         (report_focus_event, report_button_press),
6159         (check_property_change, is_command_key),
6160         (report_ordinary_key_event, report_command_key_event): upd.
6161
6162         * util/mag_client.h: include pre-requisites.
6163
6164         * libspi/accessibleeventlistener.c
6165         (spi_event_listener_object_finalize): free any lingering
6166         callbacks.
6167         
6168         * libspi/keystrokelistener.c
6169         (keystroke_listener_object_finalize): ditto.
6170
6171         * cspi/spi-listener-impl.[ch]: Add to implement cspi style
6172         callbacks, with cspi types.
6173         
6174         * cspi/spi_event.c (createAccessibleEventListener): chain to
6175         (AccessibleEventListener_addCallback): here.
6176         (createAccessibleKeystrokeListener): chain to 
6177         (AccessibleKeystrokeListener_addCallback): here.
6178
6179         * libspi/keystrokelistener.c
6180         (spi_keystroke_listener_class_init): add signal.
6181         (impl_key_event): emit the event.
6182         (boolean_handled_accumulator): impl.
6183         (marshal_BOOLEAN__POINTER): add, gack.
6184
6185         * libspi/accessibleeventlistener.c
6186         (spi_event_listener_class_init): add signal.
6187         (impl_accessible_event_notify_event): emit the signal &
6188         make the loop efficient.
6189         (spi_event_listener_add_callback): prepend the callback.
6190
6191         * libspi/accessibleeventlistener.h: add an 'event' signal,
6192         decl type on callback.
6193
6194         * libspi/keystrokelistener.h: ditto.
6195
6196         * cspi/spi-listener.h: make methods typesafe and
6197         make them use the new event typedefs.
6198
6199         * test/simple-at.c (report_focussed_accessible):
6200         include mag_client.h
6201         Use *(void *)text_interface not the other thing.
6202         
6203         * configure.in: add gtk to registryd bits - since we use
6204         gdk there ( why ? )
6205
6206         * util/magnifier.c: include libbonobo.h
6207         
6208 2001-11-25  Bill Haneman  <bill.haneman@sun.com>
6209
6210         * test/keysynth-demo.c:
6211         Turned this into a simple scanning keyboard, to demonstrate the
6212         use of g_timeout_add () as a means of creating timers for
6213         scanning, and the use of GtkStyle for visually indicating when
6214         virtual keyboard elements are selected.
6215
6216         keysynth-demo now listens to any keyboard keys with zero-valued
6217         keycodes (i.e. 'unused' keys) and interprets them as
6218         single-switches.
6219
6220         Reworked the shiftlatch code so that shift-down state isn't held
6221         for long periods (it's only synthesized immediately prior to
6222         the keysynth event it's modifying).  Note that shiftlatch in this
6223         demo is a convenience, not intended to take the place of AccessX 
6224         which is the better choice for getting 'sticky' modifier keys.
6225
6226         * libspi/deviceeventcontroller.c:
6227         * at-bridge/bridge.c:
6228         * cspi/spi_registry.c:
6229         Removed some debug print stuff, and put other verbosity in #ifdef
6230         blocks.
6231
6232         * util/magnifier.c:
6233         * util/mag_image.h:
6234         Implemented some more of the magnifier IDL for the simple
6235         magnifier: namely, getZoomRegionParams. 
6236         Added mag_x and mag_y members to MagnifierData struct, aid of this
6237         implementation.
6238         Added GtkWindow::realize signal handler to magnifier, to keep it
6239         from receiving keyboard focus from the WM.
6240
6241 2001-11-23  Mark McLoughlin  <mark@skynet.ie>
6242
6243         * cspi/spi-private.h: my guess at what michael forgot
6244         before he ran off to NZ :-)
6245
6246 2001-11-23  Michael Meeks  <michael@ximian.com>
6247
6248         * cspi/spi_event.c (AccessibleEventListener_removeCallback):
6249         comment out non existant method invoke so we link.
6250
6251         * cspi/spi-util.c (spi_warn_ev): conform to gtk+ style,
6252         use bonobo_exception_get_text for more friendly warnings.
6253
6254         * cspi/spi.c (Obj_Add): move into spi_main & rename
6255         spi_object_add; kill spi.c
6256
6257         * cspi/spi_registry.c
6258         (deregisterGlobalEventListener),
6259         (deregisterGlobalEventListenerAll),
6260         (registerGlobalEventListener): fix exception leaks.
6261
6262         * cspi/spi_main.c (spi_exception): impl. helper, so we
6263         don't leak exceptions.
6264
6265         * cspi/spi_selection.c
6266         (AccessibleSelection_deselectSelectedChild): return the
6267         success state.
6268
6269         * cspi/spi_main.c (spi_ev): impl; hack - gack.
6270         (spi_registry): ditto.
6271         (SPI_init): guard against double inits.
6272
6273         * cspi/*.c: use spi_ev (), and spi_registry () where
6274         appropriate - a temporary hack until we have something
6275         better. Use spi_object_add
6276
6277 2001-11-22  Michael Meeks  <michael@ximian.com>
6278
6279         * cspi/Makefile.am: re organise, install the headers.
6280
6281         * cspi/*.h: add G_BEGIN/END_DECLS
6282
6283 2001-11-22  Bill Haneman  <bill.haneman@sun.com>
6284
6285         * test/simple-at.c:
6286         Added non-preemptive keylistener for key events with no modifiers
6287         and shift-only modifier.
6288
6289         * libspi/keystrokelistener.c:
6290         Removed some verbose diagnostics printout.
6291
6292         * cspi/spi_registry.c:
6293         Fixed a bug that caused all key listeners to be registered as
6294         pre-emptive.
6295         
6296         * libspi/deviceeventcontroller.c:
6297         Fixed bug that caused XGrabKey (preemptive key grab) to be called
6298         for non-preemptive key masks.
6299
6300
6301 2001-11-22  Bill Haneman  <bill.haneman@sun.com>
6302
6303         * docs/reference/idl/at-spi-idl-docs.sgml:
6304         * docs/reference/idl/at-spi-idl-sections.txt:
6305         * docs/reference/idl/at-spi-idl-overrides.txt:
6306         Added missing files.
6307
6308         * docs/reference/Makefile.am:
6309         removed idl from SUBDIRS until we can figure a way to get gtk-doc
6310         to scan the IDL files :-(
6311
6312         * docs/reference:
6313         * docs/cspi:
6314         * docs/idl:
6315         Added .cvsignore files.
6316         
6317 2001-11-21  Bill Haneman  <bill.haneman@sun.com>
6318
6319         * libspi/deviceeventcontroller.c:
6320         * libspi/keystrokelistener.c:
6321         * cspi/spi_event.c:
6322         * cspi/spi_registry.c:
6323         Added filters for KeySets, KeyEventSeq, and event types to key
6324         event dispatching, so listeners should only receive those events
6325         that they requested :-)
6326
6327 2001-11-21  Bill Haneman  <bill.haneman@sun.com>
6328
6329         * configure.in:
6330         * docs/Makefile.am:
6331         * docs/reference:
6332         * docs/reference:Makefile.am:
6333         * docs/reference/cspi:
6334         * docs/reference/cspi:Makefile.am:
6335         * docs/reference/cspi:tmpl:
6336         * docs/reference/cspi:tmpl:*.sgml:
6337         * docs/reference/idl:
6338         * docs/reference/idl:Makefile.am:
6339         * docs/reference/idl:at-spi-idl-sections.txt:
6340         * docs/reference/idl:at-spi-idl-docs.sgml:
6341         * docs/reference/idl:tmpl:
6342         * docs/reference/idl:tmpl:*.sgml:
6343
6344         Restructured docs directory to allow separate 'reference' docs
6345         section, and forked idl and cspi docs.  Added the sgml template
6346         files to CVS.  Added the first sections/structural sgml for the
6347         IDL docs.
6348
6349 2001-11-21  Laszlo Peter  <laca@ireland.sun.com>
6350
6351         * configure.in, libspi/Makefile.am: find libXtst.
6352
6353 2001-11-21  Michael Meeks  <michael@ximian.com>
6354
6355         * test/accessx-gui.c: s/spi_value/value/ - doh.
6356
6357         * libspi/base.[ch]: add.
6358
6359 2001-11-18  Bill Haneman <bill.haneman@sun.com>
6360
6361         * idl/Accessible.idl:
6362         * idl/Application.idl:
6363         * idl/Registry.idl:
6364         * idl/Action.idl:
6365         Started gtk-doc cleanup on IDL.
6366
6367         * libspi/deviceeventcontroller.c:
6368         Added and connected non-preemptive key notification from the
6369         toolkits (in addition to the pre-emptive support from XServer
6370         which we had before, but which causes 'focus flashing').  Filters
6371         are presently limited to key modifiers and global/non-global,
6372         KeySets are presently ignored, as are KeyEvent masks.
6373
6374         Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
6375         structs into the persistant structure rather than just storing
6376         pointers to things that might not persist across servant
6377         invocations.
6378
6379         The XGrabKey call now does async keygrabs, because synchronous
6380         ones were deadlocking with GDK_event code in a very nasty way.
6381
6382         Added boolean to internal method notify_keylisteners, to indicate
6383         whether the event came from the 'toolkit source' or the 'global
6384         (XServer) source' - this is used in the notification process to
6385         determine which listeners to send the event to.
6386
6387         deviceeventcontroller.c is now warning-free.
6388         
6389         * libspi/registry.c:
6390         Fixed regression in application de-registration.
6391         Also fixed some really brain-dead weirdness having to do with
6392         event dispatching - event structs are now duplicated before being
6393         re-marshalled in the dispatch to listeners.  This also fixes a
6394         Solaris build problem.
6395         
6396         
6397 2001-11-20  Michael Meeks  <michael@ximian.com>
6398
6399         * libspi/registry.c
6400         (impl_accessibility_registry_deregister_global_event_listener): 
6401         segv. protection.
6402
6403         * libspi/deviceeventcontroller.c
6404         (spi_device_event_controller_check_key_event): return
6405         FALSE on no virtual method.
6406
6407         * libspi/*..h: make includes work on a correctly pathed install.
6408
6409         * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
6410
6411         * libspi/application.h: kill unused ( and whacked out )
6412         gboolean *spi_application_set_id (AtkObject *app, long id);
6413
6414 2001-11-20  Michael Meeks  <michael@ximian.com>
6415
6416         * libspi/*.[ch]: further convert to bonobo's type func
6417         macros, remove redundnant casts etc.
6418
6419         * libspi/text.c s/accessibility_text/spi_text/g,
6420         re-order to de-cruft.
6421
6422         * libspi/hypertext.c: re-order to kill a huge slew
6423         of redundant forward decls.
6424
6425         * libspi/relation.c: ditto.
6426
6427         * libspi/image.c: ditto.
6428
6429         * */.cvsignore: update
6430         
6431 2001-11-20  Michael Meeks  <michael@ximian.com>
6432
6433         * libspi/deviceeventcontroller.c
6434         (_controller_register_with_devices): use g_getenv,
6435         kill stdlib.h include.
6436
6437         * libspi/keystrokelistener.c
6438         (spi_keystroke_listener_get_type): kill
6439         (spi_keystroke_listener_class_init),
6440         (spi_keystroke_listener_init): rename to this.
6441
6442         * libspi/text.c (impl_getAttributes): fix warning / bug.
6443
6444         * libspi/*.[ch]: more headers, includes and over commenting.
6445         
6446 2001-11-20  Michael Meeks  <michael@ximian.com>
6447
6448         * libspi/*.[ch]: fixup headers, includes and over commenting.
6449
6450         * libspi/image.c (impl__get_imageDescription): const
6451         correctness warning fix. remove redundant casting.
6452
6453         * libspi/table.c (impl_getRowDescription): ditto.
6454         (impl_getColumnDescription): ditto.
6455
6456         * libspi/libspi.h: add.
6457
6458 2001-11-19  Michael Meeks  <michael@ximian.com>
6459
6460         * libspi/editabletext.c (impl_setAttributes): fix warnings.
6461
6462         * libspi/component.c (accessibility_component_get_type): 
6463         rename to (spi_component_get_type): and macroify.
6464         (accessibility_component_init): rename to
6465         (spi_component_init): this
6466         (accessibility_component_class_init): rename to
6467         (spi_component_class_init): this
6468
6469         * libspi/action.c (spi_action_get_type): kill, use the macro.
6470
6471         * libspi/deviceeventcontroller.c (_compare_listeners): re-order
6472         to avoid prototype.
6473
6474         * libspi/application.c (spi_application_object_event_listener),
6475         (impl_accessibility_application_register_object_event_listener):
6476         warning fixes / const understanding updates.
6477
6478         * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
6479         warning fixes.
6480
6481 2001-11-18  Bill Haneman <bill.haneman@sun.com>
6482
6483         * libspi/spi_accessible.c: Added docs and C bindings for
6484         AccessibleStateSet. (No implementations yet).  Documentation
6485         coverage for C bindings now 100%. Made docs for event listeners
6486         more explicit.
6487         
6488         * idl/Registry.idl:
6489         Added methods 
6490             boolean notifyListenersSync (in DeviceEventListener listener,
6491                                      in DeviceEvent event);
6492
6493             oneway void notifyListenersAsync (in DeviceEventListener listener,
6494                                           in DeviceEvent event);
6495
6496         Added DeviceEventListener and DeviceEvent structs (may deprecate
6497         KeyStroke and KeystrokeListener in favor of this generic
6498         event/listener framework for devices).
6499
6500         * libspi/deviceeventcontroller.c:
6501
6502         Changed some key listener code to take masks, etc., and paved the
6503         way for integration of toolkit/non-preemptive key events. Changed
6504         signatures of some internal methods.
6505
6506         * at-bridge/bridge.c:
6507         Fixed regression connecting to interface signals, apparently
6508         caused by GTK+ changes.
6509
6510         Added an internal bridge_state_listener to deal with
6511         property-change:accessible-state signals.
6512
6513         Changed the key_listeners GList to store structs (including masks,
6514         etc.) instead of just CORBA_Objects (required for full
6515         implementation of key listener API).
6516
6517         Connected the bridge to all currently supported Atk signals.
6518         Events now supported: 
6519             object:property-change
6520             object:property-change:accessible-name
6521             object:property-change:accessible-state
6522             object:property-change:accessible-description
6523             object:property-change:accessible-parent
6524             object:property-change:accessible-value
6525             object:property-change:accessible-role
6526             object:property-change:accessible-table-caption
6527             object:property-change:accessible-table-column-description
6528             object:property-change:accessible-table-column-header
6529             object:property-change:accessible-table-row-description
6530             object:property-change:accessible-table-row-header
6531             object:property-change:accessible-table-summary
6532             object:children-changed
6533             object:visible-data-changed
6534             object:selection-changed
6535             object:text-selection-changed
6536             object:text-changed
6537             object:text-caret-moved
6538             object:row-inserted
6539             object:row-reordered
6540             object:row-deleted
6541             object:column-inserted
6542             object:column-reordered
6543             object:column-deleted
6544             object:model-changed        
6545
6546 2001-11-16  Bill Haneman <bill.haneman@sun.com>
6547
6548         * libspi/hyperlink.c,h:
6549         Fixed some broken stuff in hyperlink.
6550         
6551         * libspi/relation.h:
6552         * libspi/relation.c:
6553         * cspi/spi_accessible.c:
6554         Initial implementations of AccessibleRelation methods, and docs.
6555
6556         * libspi/accessible.c:
6557         Fixed a bug that caused SEGV  if an accessible
6558         object's description is NULL, and a client
6559         requests it.  An empty string is now returned.
6560
6561         * cspi/spi_editabletext.c:
6562         * cspi/spi_hypertext.c:
6563         * cspi/spi_image.c:
6564         * cspi/spi_hyperlink.c:
6565         * cspi/spi_table.c:
6566         Added docs.  
6567
6568         Doc coverage now 95%.
6569
6570 2001-11-16  Bill Haneman <bill.haneman@sun.com>
6571
6572         One last namespacing revision:
6573         * libspi/accessibleeventlistener.[ch]:
6574         Renamed SpiAccessibleEventListener to SpiEventListener,
6575         (no need for two namespaces ;-)
6576
6577         And lots of documentation fixes:
6578
6579         * docs/at-spi-docs.sgml:
6580         Fixed 'underscore vs. hyphen' bug that was preventing
6581         the gtk-doc API docs from being automatically generated.
6582
6583         * cspi/spi-impl.h
6584         * cspi/spi-listener.h
6585         * cspi/spi.h
6586         * cspi/spi_accessible.c
6587         * cspi/spi_action.c
6588         * cspi/spi_application.c
6589         * cspi/spi_component.c
6590         * cspi/spi_editabletext.c
6591         * cspi/spi_event.c
6592         * cspi/spi_hypertext.c
6593         * cspi/spi_main.c
6594         * cspi/spi_registry.c
6595         * cspi/spi_selection.c
6596         * cspi/spi_text.c
6597         * cspi/spi_value.c
6598         * docs/Makefile.am
6599         * docs/at-spi-docs.sgml
6600         * docs/at-spi-sections.txt
6601         
6602         Added and fixed up gtk-doc documentation in cspi.
6603         
6604         Interfaces now (fully) documented (subject to revision and enhancement):
6605         SPI_main
6606         Event Listener Support
6607         Registry API
6608         AccessibleApplication
6609         Accessible
6610         AccessibleAction
6611         AccessibleComponent
6612         AccessibleEditableText
6613         AccessibleSelection
6614         AccessibleText
6615         AccessibleValue
6616
6617         still pending:
6618         AccessibleStateSet
6619         AccessibleRelationSet
6620         AccessibleImage
6621         AccessibleTable
6622         AccessibleHyperlink
6623         
6624 2001-11-14  Bill Haneman <bill.haneman@sun.com>
6625
6626         * at-bridge/bridge.c:
6627         Initial work for toolkit-level key snooper connection by bridge.
6628
6629         * cspi/spi-impl.h:
6630         * cspi/spi_*.h:
6631         * cspi/spi_*.c:
6632         New typedefs and fixes to support new namespacing, and cleaner
6633         separation of cspi bindings from libspi bonobo implementation.  
6634         Removed inconsistent and extraneous Spi* namespace prefix that
6635         had crept into cspi headers.
6636         Lots of comment fixes that sed had missed.
6637
6638         * cspi/spi-roletypes.h:
6639         * cspi/spi-statetypes.h:
6640         Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
6641         to AccessibleRoleType.
6642         
6643         * libspi/accessibleeventlistener.h:
6644         Fixed minor namespacing weirdness.
6645
6646         * libspi/deviceeventcontroller.c:
6647         Reordered some internal API for device listeners.
6648         Changed the key registry final boolean to 'is_system_global'
6649         rather than 'is_synchronous', which is more descriptive of its 
6650         actual meaning.
6651         Added spi_device_event_controller_new().
6652         Added  SpiRegistry backpointer to SpiDeviceEventControllerClass.
6653          
6654         * libspi/keystrokelistener.[ch]:
6655         Namespaced KeystrokeListener to SpiKeystrokeListener.
6656         Changed uses of keymasks to use SPI_ prefix, and did other
6657         knock-on fixups.
6658
6659         * libspi/keymasks.h:
6660         Namespaced keymask constants with SPI_ prefix.
6661
6662         * libspi/registry.c:
6663         Some warning fixes, and knock-on fixes from namespace changes.
6664
6665         * test/Makefile.am:
6666         Added rules for accessx-gui test program.
6667
6668         * test/accessx-gui.c:
6669         Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
6670         utility.  It doesn't actually use at-spi, but it's still cool and
6671         useful ;-)
6672
6673         * test/keysynth-demo.c:
6674         * test/simple-at.c:
6675         * test/at.c:
6676         * test/app.c:
6677         Fixes so that these test clients work properly with the namespaced
6678         libraries. (Incompletely tested for technical reasons, fixes may follow)
6679         
6680
6681 2001-11-13  Michael Meeks  <michael@ximian.com>
6682
6683         * libspi/application.c
6684         (impl_accessibility_application_get_version),
6685         (impl_accessibility_application_get_toolkit_name):
6686         warning fixes.
6687         (impl_accessibility_application_set_id),
6688         (impl_accessibility_application_get_id): remove
6689         redundant casting code.
6690
6691         * libspi/action.c (impl_getDescription): fix warnings.
6692
6693         * libspi/accessible.c
6694         (impl_accessibility_accessible_get_parent),
6695         (impl_accessibility_accessible_get_child_at_index),
6696         (impl_accessibility_accessible_get_state),
6697         (impl_accessibility_accessible_get_relation_set):
6698         warning fixes & include action.h
6699
6700 2001-11-13  Michael Meeks  <michael@ximian.com>
6701
6702         * *.[ch] fix bits I screwed up:
6703
6704                 s/([^ \tb(\*\&\?\",])spi_/\1/g;
6705                 s/([^ \tb(\*\&\?\",])Spi/\1/g;
6706         
6707 2001-11-13  Michael Meeks  <michael@ximian.com>
6708
6709         * *.[ch] Namespace libspi into spi_ and Spi.
6710
6711 2001-13-11  Michael Meeks  <michael@ximian.com>
6712
6713         * Makefile.am: dist & install at-spi-1.0.pc
6714
6715         * libspi/Makefile.am: install into at-spi-1.0
6716
6717         * idl/Makefile.am (idldir): install into at-spi-1.0
6718
6719         * at-spi-1.0.pc.in: add.
6720
6721         * configure.in: build it.
6722
6723 2001-11-12  Bill Haneman <bill.haneman@sun.com>
6724
6725         * test/keysynth-demo.c:
6726         Use a 'realize' signal-handler to set the WM properties for
6727         the virtual keyboard, rather than making it a "POPUP" type
6728         override-redirect window (thanks to anders carlsson for that
6729         tip!)
6730
6731 2001-11-11  Bill Haneman <bill.haneman@sun.com>
6732
6733         * test/Makefile.am:
6734         * test/keysynth-demo.c:
6735         Added new test of key synthesis, which creates a simple
6736         (mouse-operated) onscreen keyboard.  It inserts key events into
6737         the currently-focused window, thus it does not grab keyboard focus
6738         itself.
6739
6740         * cspi/spi_registry.c:
6741         Added C binding for AT-SPI generateKeyEvent.
6742
6743         * libspi/deviceeventcontroller.c:
6744         Added call to XFilterEvent so that key listener works with XIM (we
6745         hope).  Added event_synth_type to generateKeyEvent, so that we can
6746         produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
6747         synthesize a press/release pair for KeySyms.    
6748         
6749 2001-11-09  Bill Haneman <bill.haneman@sun.com>
6750
6751         * libspi/Makefile.am: 
6752         * registryd/Makefile.am:
6753         (temporary) hack to include libXtst in libspi and registryd.
6754         (Needed for keystroke synthesis, see below).
6755
6756         * idl/Registry.idl:
6757         Improved API for registerKeystrokeListener, in accordance with
6758         discussions with Gnopernicus team and X server research.
6759
6760         * libspi/registry.c:
6761         * libspi/deviceeventcontroller.c:
6762         * libspi/accessible.c:
6763         * libspi/keystrokelistener.c:
6764         Changes and fixes to support keylisteners for potentially
6765         consumed key events (that is, 'passive grabs').
6766         Added implementation for generateKeyEvent() [untested].
6767
6768         * cspi/spi.h:
6769         Changes to registerKeystrokeListener() API, as above.
6770         Added deregisterGlobalEventListenerAll(), and 
6771         deregisterKeystrokeListener(), which are needed for clean exit of
6772         clients.
6773         Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
6774         and a macro ALL_KEYS which may be used in place of a KeySet pointer.
6775         
6776         * cspi/spi_registry.c:
6777         Added implementations of function prototypes mentioned above.
6778         
6779         * registryd/registryd.c:
6780         Added the key listener event source as a g_timeout(), to allow
6781         receipt of key events that are not caught by GDK (since GDK
6782         doesn't support passive keygrabs, this was necessary).
6783
6784         * test/simple-at.c:
6785         Changed to attach a keylistener to 'Alt' keys, and
6786         respond to the following keycommands: Alt-M (toggle magnifier);
6787         Alt-F (toggle speech); Alt-Q (quit).
6788         Added an exit routine to deregister the listeners, and a key
6789         listener that prints some key info to the console when a key
6790         matches the listener mask (and is thus received by the listener).
6791         
6792         * util/idl/Magnifier.idl:
6793         Changes to magnifier API to support multiple zoom regions,
6794         non-uniform scaling in x and y, markDirty, and a host of other
6795         features that would be useful to magnification.
6796
6797         * util/mag_image.h:
6798         * util/mag_client.c:
6799         * util/mag_client.h:
6800         * util/mag_control.c:
6801         * util/magnifier.c:
6802         Source code changes to support the above IDL changes.
6803         
6804         * util/mag_image.c:
6805         As above, and also changes to use a (slower) generic conversion
6806         path for colormap conversions, since the fast RGB conversions have been
6807         reported to fail for 16-bit displays.
6808
6809 2001-10-26  Michael Meeks  <michael@ximian.com>
6810
6811         * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
6812
6813 2001-10-26  Laszlo Peter <laca@ireland.sun.com>
6814
6815         * at-bridge/Makefile.am: fix LDFLAGS.
6816
6817 2001-10-09  Bill Haneman <bill.haneman@sun.com>
6818
6819         * at-bridge/bridge.c:
6820         Re-worked listeners for toolkit events, now we have signal
6821         and property listeners. Added a private method
6822         register_atk_event_listeners(), which registers with the
6823         various atk and gtk signals we need to monitor in order to emit
6824         our at-spi events.
6825         Added emission hook for AtkObject:property-change events, to
6826         support the 'property listeners'.
6827         Fixed some alloc()s of Accessibility_Event structs to use CORBA
6828         allocation.
6829
6830         * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
6831         which emit warnings and exit, respectively, if CORBA errors occur
6832         during remote calls, and we now use these methods to check most of
6833         our CORBA calls in the C bindings.
6834
6835         * cspi/spi_accessible.c:
6836         Changed AccessibleSelection_refSelectedChild() to
6837         AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
6838         now increment refcounts.
6839
6840         * cspi/spi_component.c:
6841         Fixed some long pointer casts (dangerous!) to pass pointers to
6842         CORBA_longs of the proper type to the CORBA stubs, and copy the
6843         data into the longs that were passed into the C bindings code.
6844         
6845         * at-bridge/bridge.c:
6846         
6847         * libspi/accessible.c:
6848         Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
6849         hyperlinks, AtkHyperlink is an object type.     
6850
6851         * libspi/application.c:
6852         Added various conversions to and from "generic" event types and
6853         atk-specific types; this is really part of the 'bridge'
6854         implementation but is valid for all AtkObject-based accessibility 
6855         implementations.
6856
6857         * libspi/editabletext.c:
6858         Fixed nasty bug wherein editable text's finalize method was
6859         unref'ing tha AtkObject reference that the text parent class was
6860         about to unref _again_.  There was also a nasty inheritance bug
6861         that meant that the AccessibleEditableText class was corrupt.
6862
6863         * libspi/selection.c:
6864         Provided implementations for some selection API that was broken.
6865         
6866         * idl/Application.idl:
6867         Added registerObjectEventListener () method.
6868
6869         * THROUGHOUT:
6870         Fixed a number of return values that were Bonobo_Unknowns from
6871         bonobo_object_corba_objref(), which I
6872         forgot to dup before returning.  Changed instances of 
6873         bonobo_object_corba_objref (bonobo_object(o)) to
6874         BONOBO_OBJREF(o), for concision and clarity.
6875         
6876 2001-10-13  Louise Miller <louise.miller@sun.com>
6877
6878         * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
6879         idl/Event.idl, idl/Registry.idl
6880         Changed these files to include Bonobo_Unknown.idl instead
6881         of Bonobo.idl
6882
6883 2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
6884
6885         * libspi/component.c libspi/component.h:
6886                 Fixed typo.  Added assertions for object checks in 
6887         AccessibleComponent code.
6888
6889 2001-10-09  Bill Haneman <bill.haneman@sun.com>
6890
6891         * idl/Accessible.idl:
6892                 Added 'isEqual (Accessible *object)' 
6893         method for Accessible. (Not Yet Implemented).
6894         
6895         * idl/Registry.idl:
6896                 Changed signature of registerKeystrokeListener() to
6897         take a KeySet and KeyEventSeq so that specific keys and event
6898         types could be requested for monitoring, and added a flag
6899         is_synchronous so that either synchronous or asynchronous
6900         notification could be requested.  (However this is not all
6901         implemented yet). This also meant adding two new typedefs,
6902         KeyEventSeq and KeySet.
6903
6904         * idl/Relation.idl: 
6905                 Added two new relations, RELATION_TOOLTIP_FOR and
6906         RELATION_LEAFNODE_OF.
6907
6908         * idl/State.idl:
6909                 Added new state, STATE_HAS_TOOLTIP.
6910         
6911         * libspi/text.c, editabletext.c:
6912                 Added new assertions to all casts of bonobo-objects from
6913         CORBA servants, to prevent Text API calls on non-text objects.
6914                 Changed suspect casts of int-pointer types, so that we
6915         always send a valid CORBA_long pointer to the CORBA APIs that use
6916         in/out long parameters.  We then have to copy from the CORBA_long
6917         into the regular long or int for return to the C bindings, or
6918         vice-versa when returning parameters from ATK calls to the bonobo wrappers.
6919         
6920         * cspi/spi_text.c:
6921         * libspi/deviceeventcontroller.c:
6922                 Cleaned these sources up.
6923         * idl/Text.idl:
6924                 Changed return type for getCharacterAtOffset to
6925         CORBA_unsigned_long, to allow for 32-bit characters.
6926         
6927                 
6928 2001-10-08  Bill Haneman <bill.haneman@sun.com>
6929
6930         * util/Makefile.am:
6931         * idl/Makefile.am:
6932                 Fixed 'make dist' so that distro compiles...
6933         * libspi/keymasks.h:
6934                 new file.
6935         * cspi/spi-listener.c:
6936                 KeystrokeListenerCB now returns a boolean.
6937         * cspi/spi.h:
6938                 Added KeyEventType struct, and KeyStroke.
6939                 Also added createKeystrokeListener(),
6940         KeystrokeListener_addCallback(),
6941         KeystrokeListener_removeCallback(), and added a keymask to
6942         registerKeystrokeListener().
6943         * cspi/spi_accessible.c:
6944                 Changed numerous return types for interfaces from
6945         AccessibleComponent to Accessible<InterfaceName>; this was
6946         probably a cut-and-paste error.
6947         * cspi/spi_event.c:
6948                 Implementations of new KeystrokeListener api (from spi.h,
6949         above).
6950         * idl/Registry.idl:
6951                 Changes to key modifier mapping.
6952                 Created ControllerEventMask struct.
6953                 Made DeviceEventController derive from Bonobo::Unknown.
6954         * idl/Text.idl:
6955                 Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
6956         * libspi/deviceeventcontroller.c:
6957                 Added a number of new internal (private) methods.
6958         * libspi/editabletext.c:
6959         * libspi/editabletext.h:
6960                 Fixed a number of bugs related to the fact that
6961         editabletext inherits from text.  Fixed the EditableText struct,
6962         the init() call, and use correct casts when calling Text methods
6963         from an EditableText object.  Removed (duplicate) atko from the
6964         EditableText structure, we use the one in the parent Text
6965         structure via the casts mentioned above.
6966         * libspi/keystrokelistener.[ch]:
6967         * libspi/registry.c:
6968                 Changes in support of keyboard handling (above).
6969         
6970         Keyboard handling, though partly functional, is still not
6971         recommended for at-spi client use as there is considerable 
6972         work yet to be done.
6973
6974         * libspi/text.c:
6975                 Changed some places where pointers to various int types
6976         are cast to be pointers to CORBA_long types and vice-versa:
6977         pointer casting is not safe so we pass pointers of the correct
6978         types and then cast the result before putting it into the target
6979         pointers.
6980
6981         * libspi/text.h: minor typos corrected.
6982         * test/simple-at.c: 
6983                 We now speak not only the name of a Text element, but the
6984         first sentence of its content, when it receives focus.
6985                 I also changed the text compression to 75% from 50%.
6986         * util/Accessibility_Util.server.in:
6987                 Changed the default magnifier type to be a 3x vertical
6988         splitscreen magnifier (was previously a 2x horizontal one).
6989
6990 2001-10-03  Bill Haneman <bill.haneman@sun.com>
6991
6992         * libspi/keystrokelistener.h:
6993         * libspi/keystrokelistener.c:
6994                 Initial functional implementations of KeystrokeListener.
6995         * idl/Registry.idl:
6996         
6997 2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
6998
6999         Fixed string handling for NULL strings in libspi.
7000         Added spi_freeString to free strings returned by C bindings.
7001
7002 2001-09-30  Bill Haneman <bill.haneman@sun.com>
7003
7004         * libspi/keystrokelistener.h:
7005         * libspi/keystrokelistener.c:
7006                 Began (no-op) implementations of KeystrokeListener
7007                         (see below).
7008         * libspi/deviceeventcontroller.c:
7009         * libspi/deviceeventcontroller.h:
7010                 Began creating implementations of DeviceEventController,
7011                         to handle keystroke and mouse event listening and
7012                         synthesis.
7013         * libspi/accessible.c:
7014                 Stubbed-in the implementations for
7015                         Accessibility_Accessible_getState and
7016                         Accessibility_Accessible_getRelationSet.
7017         * libspi/registry.c:
7018                 Improved de-registration process and fixed some bugs, 
7019                         deregistration now works correctly.
7020         * libspi/desktop.c:
7021                 Added initialization of applications list (to NULL).
7022         * util/magnifier.c:
7023                 Reduced speech compression from 0.5 to 0.7, for demo.
7024                 Changed call to gdk_window_set_decorations()
7025                         to gtk_window_set_decorated().
7026         * at-bridge/bridge.c:
7027                 Bridge now deregisters when app exits, via
7028                         registration of a cleanup function
7029                         with the g_atexit() call.
7030                         Required making 'app' static, renamed 'this_app'.
7031                 Fixed broken use of bonobo_init, passing argv wrongly.
7032
7033 2001-09-27  Bill Haneman <bill.haneman@sun.com>
7034
7035         * util:
7036         * util/Makefile.am: 
7037                 Created a new directory for 
7038                         accessibility-related utilities, primarily for
7039                         testing and demo purposes, but with possible
7040                         end-user utility.
7041         
7042         * util/magnifier.c:
7043         * util/magnifier.h:
7044         * util/mag_image.c:
7045         * util/mag_image.h:
7046                 Onscreen magnifier utility that
7047                         is implemented as a bonobo service.
7048         
7049         * util/mag_client.c:
7050         * util/mag_client.h:
7051                 Client-side support (simple C bindings) 
7052                         for Magnification service
7053         
7054         * util/mag_control.c:
7055                 Client program example for 
7056                         Magnification service
7057         
7058         * util/Accessibility_Magnifier.server.in:
7059                 Bonobo-activation file for the 
7060                         Magnification service.
7061         
7062         * util/idl:
7063         * util/idl/Magnifier.idl:
7064                 IDL defining the bonobo Magnification
7065                         service interface.
7066
7067         * test/simple-at.c:
7068                 Modifications to use the bonobo-activated magnifier
7069                         above, in place of trying to connect to an existing
7070                         magnifier that uses socket-listening IPC.
7071
7072                 If env variable MAGNIFIER is set, a magnifier service
7073                         will be started if one does not exist.
7074         
7075 2001-09-25  Bill Haneman <bill.haneman@sun.com>
7076
7077         * at-bridge/bridge.c:
7078                 applied patch from Marc to build and run 
7079                 against new glib and gtk+ (seemed like a change 
7080                 to bonobo_init signature was made ?)
7081         * test/simple-at.c:
7082                 made festival-server support turned off by default.
7083                 Added support for a simple magnifier (off by default)
7084                 which will be added to a 'util' directory later.
7085         * at-bridge/Makefile.am:
7086                 Changed "application.h" header from a 'source'
7087                 to a 'dependency' of libat-bridge.
7088
7089 2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
7090
7091         * cspi/Makefile.am:
7092                 Added spi-util.c.
7093
7094         * cspi/spi-util.c:
7095                 Fixed typo
7096
7097         * cspi/spi.c:
7098                 Added interface implementation c files to list of
7099                         includes so they are included in libcspi.
7100
7101         * cspi/spi.h:
7102                 Changed prototype of AccessibleAction_doAction to return a
7103                         boolean.
7104                 Changed prototype of AccessibleTable_getCaption to
7105                         return an Accessible.
7106                 Changed prototype of AccessibleTable_getSelectedRows
7107                         and AccessibleTable_getSelectedColumns to
7108                         return a long (returns the number of selected rows
7109                         or columns respectively).
7110                 Changed name of AccessibleText_refRunAttributes to
7111                         AccessibleText_getAttributes.
7112                 Changed prototype of AccessibleText_getCharacterExtents to
7113                         return a void rather than a boolean. 
7114                 Added support for a AccessibleCoordType parameter
7115                         specifying what type of coordinates are desired.
7116                 Added an AccessibleCordType parameter to
7117                         AccessibleText_getPointAtOffset.
7118
7119         * cspi/spi_accessible.c:
7120                 Added code to return the outstanding interfaces from
7121                         Accessible_queryInterface.
7122
7123         * cspi/spi_action.c:
7124                 Fixed typos.
7125                 Corrected call to getNActions to call the c binding
7126                         for an attribute.
7127
7128         * cspi/spi_editabletext.c:
7129                 Fixed typos.
7130                 Changed name from setRunAttributes to setAttributes.
7131
7132         * cspi/spi_hyperlink.c:
7133                 Fixed typos.
7134                 Changed call to getNAnchors to correctly call the c
7135                         binding for an attribute.
7136
7137         * cspi/spi_hypertext.c:
7138                 Fixed typos.
7139                 Changed getImageDescription to correctly call the
7140                         binding for an attribute.
7141
7142         * cspi/spi_selection.c:
7143                 Changed getNSelectedChildren to correctly call the c
7144                         binding for the attribute.
7145                 Changed refSelectedChild to getSelectedChild.
7146
7147         * cspi/spi_table.c:
7148                 Fixed typos.
7149                 Changed getCaption to return an Accessible.
7150                 Fixed calls which retrieve attributes.
7151                 Changed refAt to getAccessibleAt.
7152                 Changed getNSelectedRows and getNSelectedColumns to
7153                         return longs.
7154
7155         * cspi/spi_text.c:
7156                 Changed getCharacterExtents and getPointAtOffset to accept an
7157                         AccessibleCoordType.
7158                 Fixed typos.
7159                 Changed calls which retrieve attributes.
7160                 Changed refRunAttributes to getAttributes.
7161
7162         * cspi/spi_value.c:
7163                 Fixed typos.
7164
7165         * idl/Hyperlink.idl:
7166                 Changed n_anchors attribute to nAnchors to keep naming
7167                         convention consistent.
7168
7169         * idl/Table.idl:
7170                 Made Table inherit from Bonobo::Unknown.
7171                 Added nSelectedColumns and nSelectedRows attributes.
7172
7173         * idl/Value.idl:
7174                 Made Value inherit from Bonobo::Unknown.
7175
7176         * libspi/hyperlink.c:
7177                 Change for nAnchors attributte name change.
7178
7179 2001-09-12  Marc Mulcahy <marc.mulcahy@sun.com>
7180         * cspi/Makefile.am:
7181                 Added spi-util.c.
7182
7183         * cspi/spi-util.c:
7184                 Fixed typo
7185
7186         * cspi/spi.c:
7187                 Added interface implementation c files to list of
7188                         includes so they are included in libcspi.
7189
7190         * cspi/spi.h:
7191                 Changed prototype of AccessibleAction_doAction to return a
7192                         boolean.
7193                 Changed prototype of AccessibleTable_getCaption to
7194                         return an Accessible.
7195                 Changed prototype of AccessibleTable_getSelectedRows
7196                         and AccessibleTable_getSelectedColumns to
7197                         return a long (returns the number of selected rows
7198                         or columns respectively).
7199                 Changed name of AccessibleText_refRunAttributes to
7200                         AccessibleText_getAttributes.
7201                 Changed prototype of AccessibleText_getCharacterExtents to
7202                         return a void rather than a boolean. 
7203                 Added support for a AccessibleCoordType parameter
7204                         specifying what type of coordinates are desired.
7205                 Added an AccessibleCordType parameter to
7206                         AccessibleText_getPointAtOffset.
7207
7208         * cspi/spi_accessible.c:
7209                 Added code to return the outstanding interfaces from
7210                         Accessible_queryInterface.
7211
7212         * cspi/spi_action.c:
7213                 Fixed typos.
7214                 Corrected call to getNActions to call the c binding
7215                         for an attribute.
7216
7217         * cspi/spi_editabletext.c:
7218                 Fixed typos.
7219                 Changed name from setRunAttributes to setAttributes.
7220
7221         * cspi/spi_hyperlink.c:
7222                 Fixed typos.
7223                 Changed call to getNAnchors to correctly call the c
7224                         binding for an attribute.
7225
7226         * cspi/spi_hypertext.c:
7227                 Fixed typos.
7228                 Changed getImageDescription to correctly call the
7229                         binding for an attribute.
7230
7231         * cspi/spi_selection.c:
7232                 Changed getNSelectedChildren to correctly call the c
7233                         binding for the attribute.
7234                 Changed refSelectedChild to getSelectedChild.
7235
7236         * cspi/spi_table.c:
7237                 Fixed typos.
7238                 Changed getCaption to return an Accessible.
7239                 Fixed calls which retrieve attributes.
7240                 Changed refAt to getAccessibleAt.
7241                 Changed getNSelectedRows and getNSelectedColumns to
7242                         return longs.
7243
7244         * cspi/spi_text.c:
7245                 Changed getCharacterExtents and getPointAtOffset to accept an
7246                         AccessibleCoordType.
7247                 Fixed typos.
7248                 Changed calls which retrieve attributes.
7249                 Changed refRunAttributes to getAttributes.
7250
7251         * cspi/spi_value.c:
7252                 Fixed typos.
7253
7254         * idl/Hyperlink.idl:
7255                 Changed n_anchors attribute to nAnchors to keep naming
7256                         convention consistent.
7257
7258         * idl/Table.idl:
7259                 Made Table inherit from Bonobo::Unknown.
7260                 Added nSelectedColumns and nSelectedRows attributes.
7261
7262         * idl/Value.idl:
7263                 Made Value inherit from Bonobo::Unknown.
7264
7265         * libspi/hyperlink.c:
7266                 Change for nAnchors attributte name change.
7267
7268
7269 2001-09-05  Marc Mulcahy <marc.mulcahy@sun.com>
7270
7271         implementations-- made server implementations own AtkObject pointers
7272         rather than their respective AtkInterrface pointers to fix
7273         refcounting.  AtkHyperlink is still broken.
7274
7275 2001-09-04  Bill Haneman <bill.haneman@sun.com>
7276         * cspi/spi_accessible.c:
7277                 Added method Accessible_Role_getName(),
7278                         and requisite string array (role_names).
7279                 Added conversion string_from_corba_strin() call
7280                         to Accessible_getName and _getDescription.
7281         * libspi/accessible.c:
7282                 Added implementation for Accessible_getRole()
7283         * test/simple-at.c:
7284                 Added festival support, used if environment variable
7285                         FESTIVAL is set.
7286         
7287 2001-09-04  Bill Haneman <bill.haneman@sun.com>
7288
7289         * at-bridge/bridge.c:
7290             Now allocate Accessibility_Event using
7291             Accessibility_Event__alloc() instead of g_new0().
7292         * libspi/accessibleeventlistener.c:
7293             Initialize AccessibleEventListener->callbacks to NULL.
7294             Fixed accessible__event_listener_init() param, changed to
7295             "AccessibleEventListener *" type.
7296             Changed a bonobo_object_release_unref() call to
7297             Accessibility_Accessible_unref().
7298         * libspi/listener.c:
7299             Changed Bonobo_Unknown_unref to (equivalent) 
7300             Accessibility_Accessible_unref.
7301         * libspi/registry.c:
7302             Changed bonobo_object_release_unref to 
7303             Accessibility_Accessible_unref.
7304         
7305 2001-09-04  Marc Mulcahy <marc.mulcahy@sun.com>
7306         
7307         * Added files:
7308             spi_action.c spi_editabletext.c spi_hyperlink.c spi_hypertext.c
7309             spi_image.c spi_selection.c spi_table.c spi_text.c spi_value.c
7310             spi-util.c spi-util.h
7311             Implementations for C bindings to remaining accessibility 
7312             interfaces.
7313
7314 2001-09-04 Marc Mulcahy <marc.mulcahy@sun.com>
7315         
7316         * idl/Action.idl:
7317             changed return value of Action from void to boolean to 
7318             bring in line with ATK.
7319
7320         * idl/Text.idl:
7321             Changed getText funcions to return "out" start and end offsets.
7322             Changed getAttributes to take and offset and return the start 
7323             and end offset of the attribute run.
7324             Changed getOffsetAtPoint and getCharacterExtents to take an 
7325              enum describing whether coordinates are window or screen.
7326
7327         * Added files:
7328             libspi/action.c libspi/action.h libspi/editabletext.c 
7329             libspi/editabletext.h libspi/hyperlink.c libspi/hyperlink.h
7330             libspi/hypertext.c libspi/hypertext.h libspi/image.c 
7331             libspi/image.h libspi/selection.c libspi/selection.h
7332             libspi/table.c libspi/table.h libspi/text.c libspi/text.h 
7333             libspi/value.c libspi/value.h
7334             Added server implementations for outstanding ATK interfaces 
7335             not yet implemented.
7336  
7337 2001-09-04  Bill Haneman <bill.haneman@sun.com>
7338
7339         * idl/Action.idl:
7340                 Added (missing) getName() method. 
7341                 Made nActions an attribute.
7342         * idl/EditableText.idl:
7343                 Changed order of params in setAttributes.
7344         * idl/Hyperlink.idl:
7345                 Removed getAnchor, added getURI.
7346         * idl/Image.idl:
7347                 Changed attributes to methods, for efficiency
7348                 (so that getting extents can be done in one call)
7349         * idl/Selection.idl:
7350                 Changed nSelectedChildren to attribute, and re-indented.
7351         * idl/Table.idl: changed nrows, ncolumns, caption, summary 
7352                 to attributes.
7353         * idl/Text.idl: reformatted to match our coding style.
7354                 (temporarily?) removed getRowColumnAtOffset().
7355                 Changed text selection API to support multi-select and
7356                 non-contiguous selections, as in ATK.
7357         * idl/Value.idl: changed some methods to attributes.
7358
7359 2001-08-24  Mark McLoughlin <mark@skynet.ie>
7360
7361         * libspi/listener.c(impl_notify_event):
7362         BonoboUnkown_unref the source instead
7363         of bonobo_object_release_unref - the ORB
7364         handles the releasing.
7365
7366         * configure.in: require ORBit-2.3.94 for
7367         this behaviour.
7368
7369 2001-08-21  Bill Haneman <bill.haneman@sun.com>
7370
7371         Tagged CVS repository 'EA_1_0'.
7372         * README.EARLY_ACCESS:
7373         Alphabetized acknowledgements list, and
7374         added someone.
7375         Listed some known dependencies of at-spi.
7376
7377 2001-08-20  Bill Haneman <bill.haneman@sun.com>
7378
7379         * docs/at-spi-docs.sgml:
7380         * docs/at-spi-sections.txt:
7381         * docs/at-spi-overrides.txt: (Added zero-length file)
7382         Documentation improvements - gtk-doc should build
7383         docs for all implemented C bindings now.
7384         * cspi/Makefile.am:
7385         * cspi/spi_main.c:
7386         * cspi/spi.c: (New file)
7387         * cspi/spi_event.c: (New file)
7388         * cspi/spi_registry.c: (New file)
7389         * cspi/spi_accessible.c: (New file)
7390         * cspi/spi_application.c: (New file)
7391         * cspi/spi_component.c: (New file)
7392         Split spi_main.c into six parts, and included them from
7393         "spi.c".  This is a bit of a hack, probably temporary,
7394         but required by gtk-doc, apparently.
7395         
7396 2001-08-20  Bill Haneman <bill.haneman@sun.com>
7397
7398         * docs/Makefile.am:
7399         * docs/at-spi-docs.sgml:
7400         * docs/at-spi-sections.txt:
7401         * configure.in:
7402         Initial checkins/modifications for gtk-doc generation.
7403         * cspi/spi.h:
7404         * cspi/spi.c:
7405         Added (missing) interface query methods to Accessible's C binding.
7406         * cspi/spi-impl.h:
7407         Added GenericInterface type definition.
7408         * test/simple-at.c:
7409         Added query for AccessibleComponent interface to focus event handler.
7410         Added printout of bounding box for focussed component.
7411         * libspi/component.c:
7412         Added partial implementation for AccessibleComponent to C binding.
7413         * idl/Application.idl:
7414         * libspi/registry.c:
7415         * libspi/listener.c:
7416         * libspi/application.c:
7417         * libspi/application.h:
7418         Changed "ID" attribute type from string to long.
7419
7420 2001-08-19  Bill Haneman <bill.haneman@sun.com>
7421
7422         * cspi/spi.h:
7423         * cspi/spi.c:
7424         Made method naming consistent: methods taking object args
7425         start with uppercase, other methods (except those using
7426         acronyms) start with lowercase.  Underscores delimit between
7427         object names and method names:
7428         SPI_init() - uppercase since it starts with an acronym.
7429         getDesktopCount () - lowercase start since no object param0.
7430         Accessible_getName() - uppercase object type name, studlyCaps method
7431                                name.
7432
7433         * cspi/spi.h:
7434         Added gtk-doc documentation for all currently implemented
7435         methods in the C bindings API.
7436
7437 2001-08-18  Bill Haneman <bill.haneman@sun.com>
7438
7439         * Makefile.am : changed build order to build test last.
7440         * cspi/spi.h :
7441         * cspi/spi_main.c :
7442         Changed "createEventListener" to "CreateEventListener".
7443         * libspi/accessibleeventlistener.c :
7444         Bugfix for addition of callbacks.
7445         * test/Makefile.am :
7446         * test/simple-at.c :
7447         Added new test that uses the C bindings API.
7448         * idl/Event.idl :
7449         * libspi/listener.c :
7450         * libspi/registry.c :
7451         * libspi/accessibleeventlistener.c :
7452         * at-bridge/bridge.c :
7453         Renamed member "target" of Accessibility_Event to "source",
7454         which is more descriptive.
7455         
7456
7457 2001-08-18  Bill Haneman <bill.haneman@sun.com>
7458
7459         * Makefile.am: 
7460         * configure.in :
7461         * cspi/Makefile.am :
7462         Added makefile support for at-spi/cspi directory.
7463         * cspi/spi.h : 
7464         * cspi/spi-impl.h :
7465         * cspi/spi-listener.h : (NEW FILE)
7466         Added support for/use of spi-listener.h.
7467         * cspi/spi_main.c :
7468         C bindings now build successfully, with no warnings.
7469         * libspi/accessibleeventlistener.h : (NEW FILE)
7470         * libspi/accessibleeventlistener.c : (NEW FILE)
7471         * libspi/Makefile.am :
7472         Added new object type "AccessibleEventListener"
7473         which inherits from Listener, and allows attachment
7474         of in-process callbacks (so that a client with a listening
7475         object instance can add functionality to the local 
7476         implementation, dynamically).
7477
7478 2001-08-18  Bill Haneman <bill.haneman@sun.com>
7479
7480         * libspi/accessible.c: 
7481         Add implementation for get_index_in_parent().
7482         * cspi/spi.h : 
7483         Added #include of "spi-roletypes.h", and
7484         added enumerated type AccessibleCoordType.
7485         Added definition for KeystrokeListener (function type).
7486
7487         ADDED FILES:
7488         * cspi/spi-statetypes.h :
7489         * cspi/spi-roletypes.h :
7490         * cspi/spi-impl.h :
7491         Added these headers, used by spi.h.
7492         * cspi/spi_main.c : 
7493         Added code (NOTE: not yet built by make).
7494
7495 2001-08-18  Mark McLoughlin <mark@skynet.ie>
7496
7497         * libspi/Makefile.am: generate imodule
7498         at the same time as other idl compiler 
7499         generated files. 
7500
7501 2001-08-17  Bill Haneman <bill.haneman@sun.com>
7502         * libspi/registry.c :
7503         * libspi/application.c :
7504         * idl/Application.idl :
7505         Made registration with toolkit an application method,
7506         which is required since each app has its own toolkit static
7507         environment.  Thus the bridge must register for 
7508         notification of toolkit events from each application in turn.
7509         Toolkit notifications are now successfully registered for, and
7510         sent to the listening at client.
7511         * test/at.c :
7512         Changed toolkit event string to use hyphens rather than underscores.
7513         * libspi/listener.c :
7514         listner now gives more info in debug mode - it reports the
7515         name of the event received, as well as the name of the source.
7516         
7517
7518 2001-08-16  Bill Haneman <bill.haneman@sun.com>
7519
7520         * libspi/registry.c :
7521         added more implementation for toolkit events.
7522         Fixed bug such that toolkit event registrations
7523         (via atk) use the whole event name string, not 
7524         just minor+detail.
7525         Removed a useless call to an ORBit_ method.
7526         * at-bridge/bridge.c :
7527         Removed unused local sbuf[] variable.
7528         * test/at.c :
7529         We now register for Gtk:GtkWidget:button_press_event 
7530         events as well as "focus:" events.
7531         * cspi/spi.h :
7532         Add some more API from Registry.idl that was missing,
7533         for keystroke listening, keystroke and mouse event
7534         synthesis, and enumeration of accessible desktops.
7535
7536 2001-08-16  Michael Meeks  <michael@ximian.com>
7537
7538         * configure.in: use AM_GLIB_GNU_GETTEXT.
7539
7540         * Makefile.am (SUBDIRS): kill intl.
7541
7542 2001-08-15  Michael Meeks  <michael@ximian.com>
7543
7544         * registryd/Makefile.am: s/oaf/server/ relocate info file.
7545
7546         * configure.in: upd.
7547
7548         * configure.in: depend on a recent bonobo-activation that
7549         will find our server files ...
7550
7551 2001-08-16  Bill Haneman <bill.haneman@sun.com>
7552
7553         * libspi/accessible.c : accessible_new() :
7554         Now we add the Component interface via bonobo_object_add_interface,
7555         if the contained AtkObject implements AtkComponent.
7556         * libspi/accessible.h : now include "component.h"
7557         * libspi/component.h :
7558         * libspi/component.c : added files - implementation of
7559         bonobo wrapper object for Accessibility/Component
7560         * libspi/listener.c :
7561         Added test code to check for Accessibility/Component:1.0
7562         interface and report whether it is implemented by the
7563         event source.
7564         * libspi/registry.c :
7565         Now we check for not only the hash of the whole event 
7566         string before relaying the event, we also check the
7567         "minor" event string (without the detail string).
7568         This allows event listeners to be registered against
7569         all events of a certain major+minor type, or just
7570         against a specific major+minor+detail type.
7571         * libspi/accessible.c :
7572         Added implementations for Accessible:get_parent(),
7573         Accessible:getChildCount(), and Accessible:getChildAtIndex().
7574         * libspi/registry.c :
7575         * libspi/listener.c :
7576         Replaced calls to Accessibility_Accessible_ref() and
7577         Accessibility_Accessible_unref() with 
7578         calls to bonobo_object_dup_ref() and 
7579         bonobo_object_release_unref(), so that the CORBA object
7580         is dup-ed and released when relayed, as well as the bonobo object.
7581
7582 2001-08-15  Mark McLoughlin <mark@skynet.ie>
7583
7584         * libspi/Makefile.am,
7585           registryd/Makefile.am,
7586           at-bridge/Makefile.am.
7587           test/Makefile.am, configure.in:
7588         reverse previous changes.
7589
7590         * /idl/Image.idl: fix typo.
7591
7592         * test/Makefile.am: put DEBUG_FLAGS
7593         in CFLAGS.
7594
7595 2001-08-15  Mark McLoughlin <mark@skynet.ie>
7596
7597         * test/app.c: use argv[0] instead of
7598         g_type_prgname.
7599
7600 2001-08-15  Mark McLoughlin <mark@skynet.ie>
7601
7602         * libspi/Makefile.am,
7603           registryd/Makefile.am,
7604           at-bridge/Makefile.am.
7605           test/Makefile.am, configure.in:
7606         cleanup, replace individual LIBS/CFLAGS with
7607         AT_COMMON_{LIBS|CFLAGS}.
7608
7609         * README: format.
7610
7611 2001-08-15  Mark McLoughlin <mark@skynet.ie>
7612         
7613         * configure.in, libspi/Makefile.am:
7614         Change IDL path checking for bonobo-activation
7615         as opposed to oaf.
7616
7617 2001-08-15  Bill Haneman <bill.haneman@sun.com>
7618
7619         * registryd/registry.c : separated event listeners to use
7620         3 separate lists (focus, window, toolkit).  Began testing
7621         event names against hashes before relaying events.
7622         * test/at.c : now register for events of type "focus:"
7623         * test/app.c : now generate events of type "focus:"
7624         * at-bridge/bridge.c : register with ATK for focus events,
7625         and we now relay those focus events to any "focus:" listeners.
7626         This now works with the bridge as a GTK_MODULE when running test/at.
7627         * libspi/registry.c :
7628         * libspi/listener.c : 
7629         now we ref event sources before propagating, and unref on receipt.
7630         * libspi/registry.c : 
7631         some changes to internal structs, to support event typestring hashes.
7632         * text/app.c : changed the way the appname is generated.
7633         * cspi : added directory that will hold the C bindings library for 
7634                 non-CORBA/bonobo-savvy clients.
7635         * cspi/spi.h : header file that contains the function prototypes for the C binding.
7636         * idl/Component.idl : added in parameter to indicate coord system for
7637                 geometry-related calls.
7638         * idl/Hyperlink.idl : added readonly n_links attribute
7639         * idl/Image.idl : changed methods to attributes.
7640         
7641 2001-08-15  Mark McLoughlin <mark@skynet.ie>
7642
7643         * at-bridge/Makefile.am: link against
7644         ../libspi/libspi.la instead of -lspi.
7645
7646         * at-spi/test/app.c: include 
7647         bonobo-activation.h. Use a default appname
7648         if one is not provided.
7649
7650 2001-08-14  Bill Haneman <bill.haneman@sun.com>
7651
7652         * idl/Registry.idl : temporarily changed register_Application
7653         to oneway, to work around issue with initial registration 
7654         re-entrancy.
7655         * idl/Application.idl : changed attribute "id" from readonly 
7656         to read-write, since it needs to be assigned by Registry.
7657         * registryd/registryd.c : added call to set application id 
7658         on registration.
7659         * registryd/registry.c : changed de-registration procedure to
7660         use CORBA_Object_hash() to find matching object ref in application
7661         lists and listener lists.
7662         * registryd/registry.c : defined EventTypeStruct and EventTypeMajor,
7663         began distinguishing between event types (work in progress).
7664
7665 2001-08-13  Bill Haneman <bill.haneman@sun.com>
7666
7667         CHANGES:
7668         * libspi/application.c:
7669         Added implementations for get/set id, get_toolkitName,
7670         get_version.
7671         * registryd/registryd.c :
7672         * test/at.c :
7673         * test/app.c :
7674         * Makefile.am :
7675         Converted from use of OAF to bonobo-activation.
7676         * libspi/desktop.h :
7677         * libspi/desktop.c :
7678         * test/app.c :
7679         Removed references to atksimpleobject, since base atkobject
7680         implementation now provides functionality we need.
7681         * libspi/atksimpleobject.c :
7682         * libspi/atksimpleobject.h :
7683         Removed.
7684         
7685         ADDITIONS:
7686         * at-bridge
7687         * at-bridge/Makefile.am
7688         * at-bridge/bridge.c
7689         * configure.in
7690         * Makefile.am
7691         Added directory "bridge" and contents, and added dependencies
7692         in Makefile.am/configure.in.  
7693         Initial checkin of "at-bridge".
7694         This code is a GTK_MODULE which automatically registers
7695         GTK+ apps with the accessibility registry, using an object
7696         reference to the root ATK object.
7697         
7698 2001-08-10  Mark McLoughlin <mark@skynet.ie>
7699
7700         * po/Makefile.in.in: Remove. Again. If this
7701         doesn't get autogenerated - you need to update
7702         gnome-common.
7703
7704 2001-08-07  Mark McLoughlin <mark@skynet.ie>
7705
7706         * po/Makefile.in.in: Add. Again.
7707
7708 2001-07-31  Bill Haneman <bill.haneman@sun.com>
7709
7710         * libspi/accessible.c : added support for 'description' property.
7711         * libspi/accessible.c
7712         * libspi/desktop.c
7713         * libspi/registry.c : changed to use bonobo_object instead of bonobo_x_object
7714             (since the two are now equivalent in libbonobo)
7715         * idl/Action.idl
7716         * idl/Component.idl
7717         * idl/Hyperlink.idl
7718         * idl/Image.idl
7719         * idl/Selection.idl
7720         * idl/Table.idl
7721         * idl/Text.idl
7722         * idl/Value.idl : changed these 'secondary' interfaces to inherit from
7723              Bonobo::Unknown as does Accessibility::Accessible.
7724         * idl/StreamableContent.idl : as above, and replaced internal InputStream
7725              interface with Bonobo::Stream, since it was redundant with it.
7726              (The Stream returned by a StreamableContext object is expected to
7727              implement only a subset of Bonobo::Stream)
7728
7729 2001-07-28  Anders Carlsson  <andersca@gnome.org>
7730
7731         * libspi/accessible.c (accessible_object_finalize): Change
7732           g_free to g_object_unref since the AtkObject is a GObject.
7733
7734 2001-07-30  Bill Haneman <bill.haneman@sun.com>
7735
7736         * idl/Accessibility.idl: add new IDL files
7737         
7738         Added:
7739         * idl/Action.idl: Definitions of actionable UI object
7740         * idl/Component.idl: Definitions of UI component geometry, etc.
7741         * idl/Hyperlink.idl: Defs of hyperlink behavior
7742         * idl/Image.idl: Def of accessible image
7743         * idl/Selection.idl: Definition of UI object with selectable children
7744         * idl/StreamableContent.idl: Definition of UI object with streamable backing data
7745         * idl/Table.idl: Definitions for access to table ('spreadsheet') elements
7746         * idl/Text.idl: Interface defs for UI elements with complex textual content
7747         * idl/Value.idl: Definition of UI element that is a value controller or display
7748         
7749 2001-07-27  Michael Meeks  <michael@ximian.com>
7750
7751         * po/Makefile.in.in: remove autogenerated file from CVS.
7752
7753         * libspi/Makefile.am: Radicaly re-vamp to simplify & add ORBit2
7754         type library.
7755
7756         * idl/Registry.idl: include guard.
7757
7758         * idl/Accessibility.idl: Add, and include all the other IDL
7759         files.
7760
7761         * idl/*.idl: remove mass of pragmas etc.
7762
7763 2001-07-26  Michael Meeks  <michael@ximian.com>
7764
7765         * registryd/Makefile.am (registryd_SOURCES): remove
7766         redundant at_.
7767
7768 2001-07-27  Mark McLoughlin <mark@skynet.ie>
7769
7770         * libspi/.cvsignore, registryd/.cvsignore,
7771           test/.cvsignore: updated.
7772
7773         * po/Makefile.in.in: gettext update.
7774
7775 2001-07-25  Bill Haneman <bill.haneman@sun.com>
7776
7777         * initial CVS checkin
7778
7779 2001-06-29  Michael Meeks  <michael@ximian.com>
7780
7781         * configure.in: add AM_CONFIG_HEADER to gen config.h
7782
7783         * acconfig.h: add.
7784