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