Use a select wrapper around the GLib event loop, thus taking into account GLib
authorJan Djärv <jan.h.d@swipnet.se>
Sat, 21 Nov 2009 15:28:59 +0000 (15:28 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Sat, 21 Nov 2009 15:28:59 +0000 (15:28 +0000)
commit872870b29a846cc8e27d53d05147eb3e0beb7c50
tree5bf7121650264015843c2111e98a0d26ededc358
parent62a6e103dd7b9d940565639d6a47c8bdee3f24ce
Use a select wrapper around the GLib event loop, thus taking into account GLib
timeouts and event sources.  This simplifies Gtk+-code a lot, and is needed
for handling GConf death/restart.

* xterm.c: #include xgselect.h.
(x_initialize): Call xgselect_initialize.

* xsettings.c (something_changedCB): C++ comments => C comments.
(init_gconf): Do not deal with any GLib file descriptors, xg_select
does that now.

* gtkutil.c (xg_timer, xg_process_timeouts, xg_start_timer)
(xg_stop_timer, menu_grab_callback_cnt, menu_grab_callback)
(scroll_bar_button_cb): Remove.
(create_menus): C++ comments => C comments. Don't bind grab-notify
event.
(xg_create_scroll_bar): Don't bind button-press-event and
button-release-event.

* process.c: Include xgselect.h if defined (USE_GTK) ||
defined (HAVE_GCONF).
(wait_reading_process_output): Call xg_select for the same condition.

* xgselect.c (xg_select): New function to better integrate with
GLib/Gtk event handling.  Needed if GConf daemon dies/restarts.

* xgselect.h: New file, declare xg_select, xgselect_initialize.

* Makefile.in (XOBJ): Add xgselect.o.
src/ChangeLog
src/Makefile.in
src/gtkutil.c
src/process.c
src/xgselect.c [new file with mode: 0644]
src/xgselect.h [new file with mode: 0644]
src/xsettings.c
src/xterm.c