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