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