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