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