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