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