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