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