--- a/mcabber/src/main.c Tue Dec 01 22:09:05 2009 +0100
+++ b/mcabber/src/main.c Sat Dec 05 19:04:46 2009 +0100
@@ -273,8 +273,7 @@
return FALSE;
}
-static gboolean mcabber_source_dispatch(GSource *source, GSourceFunc callback,
- gpointer udata)
+static gboolean keyboard_activity(void)
{
keycode kcode;
@@ -295,6 +294,11 @@
return TRUE;
}
+static gboolean mcabber_source_dispatch(GSource *source, GSourceFunc callback,
+ gpointer udata) {
+ return keyboard_activity();
+}
+
static GSourceFuncs mcabber_source_funcs = {
mcabber_source_prepare,
mcabber_source_check,
@@ -449,7 +453,8 @@
scr_LogPrint(LPRINT_DEBUG, "Entering into main loop...");
while(!terminate_ui) {
- g_main_context_iteration(main_context, TRUE);
+ if (g_main_context_iteration(main_context, TRUE) == FALSE)
+ keyboard_activity();
if (update_roster)
scr_DrawRoster();
if(update_screen)