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