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