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