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