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