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