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