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