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