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