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