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