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