Bug #4574. Common code for file/font dialog. Handle timers with glib-timers.
authorJan Djärv <jan.h.d@swipnet.se>
Tue, 10 Nov 2009 19:06:40 +0000 (19:06 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Tue, 10 Nov 2009 19:06:40 +0000 (19:06 +0000)
commite90292a90cdb9a3b4d28b21db39f5f44ad3de805
tree2bf6f977a64392335dd3365c845b6d589bfc6726
parent045b83c00aabaaaa5d4e363f848a1826f8f27338
Bug #4574.  Common code for file/font dialog. Handle timers with glib-timers.

* keyboard.h: Declare timer_check.

* keyboard.c (timer_check_2): New function that does what the old
timer_check did.
(timer_check): Call timer_check_2 until -1 or a non-zero time is
returned, i.e. don't return -1 with timers pending.

* process.c: Remove extern declaration of timer_check.

* xmenu.c (x_menu_wait_for_event): Remove code that did a timeout
even if timer_check returned -1.

* gtkutil.c (xg_dialog_response_cb): data is now a struct xg_dialog_data
(pop_down_dialog): Destroy widget (if any), cancel timer and unref
the event loop.
(xg_maybe_add_timer, xg_dialog_run): New functions (bug #4574).
(xg_get_file_name, xg_get_font_name): Call xg_dialog_run (bug #4574).
Destroy the dialog after xg_dialog_run.
src/ChangeLog
src/gtkutil.c
src/keyboard.c
src/keyboard.h
src/process.c
src/xmenu.c