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