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