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