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