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