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