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