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