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