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