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