2005-02-10 Bill Haneman * gok/main.c: (gok_main_warn_corepointer): Reinstate, as wrapper around gok_main_warn. This allows us to track the posting of the corepointer warning separately from the other uses of the warning dialog. (gok_main_close_warning): New method, which we register as the default callback for the warning dialog 'ok' button. (gok_main_warn): Take an 'okfunc' GCallback as well as a 'cancelfunc.' (gok_main_close, gok_sig_handler): Call gok_input_restore_corepointer() in case we've swapped out the core pointer. * gok/gok-button.c: (gok_button_enter_notify): Use new api for gok_main_warn_corepointer. * gok/gok-input.c: Remove instances of XFreeDeviceList, as we now must keep the list until we exit. (gok_input_extension_filter): Moved here from callbacks.c. Post the input device mismatch warning if events are detected from something other than the expected input device, and allow user to accept the new device or reject it in favor of the old one. (gok_input_init): Changed signature to omit the GokInput param, since we always init all the devices. Store "current_input" as a static. (gok_input_ext_devices_exist): Simplify, just return whether the persisted GokInfo list is empty or not. (gok_input_open): Moved. (gok_input_close): Moved. (gok_input_get_device_list): Return a persistent list which we create on the first request. Call gok_input_open on each device found - we must do this in order to find the device id, and other data. (find_input): Reimplemented to use the persistent list. (gok_input_find_by_id): Reimplemented to use the persistent list. (gok_input_init): Use the persistent list, and select for all extension events on all non-core input devices. (gok_input_open_all): Removed. (gok_input_close_others): Close all but the currently specified device. (gok_input_get_current) : Revise to cache the current input device. (gok_input_restore): Call gok_input_close_others. (gok_input_restore_corepointer): New, call this to restore the saved corepointer. (gok_input_detach_corepointer): Call gok_input_init_device_event_list when swapping out the core pointer, to ensure that the relevant events are selected for and the pointer's extension device is open. Don't call XFreeDeviceList twice (!). (gok_input_init_device_event_list): Refactored out of gok_input_init. 2005-02-09 Bill Haneman * gok/callbacks.c: (on_window1_enter_notify): Don't reset cursor warping on enter-notify if the notification comes from a contained window. Fixes #166779. 2005-02-08 David Bolter * gok/gok-spy.c: (gok_spy_concatenate_child_names): made recursive. (gok_spy_append_node): added param to function call above. Thanks Harry Lu for the initial patch. Fixes bug #159163