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