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