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