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