Added missing buffer flush.
[rodin/chimara.git] / libchimara / event.c
index 1bcdcd9b872ab26a0f3e581d68bf2b8e87eee5c5..4089b79eaa3205017e153642f0f54418a4105d01 100644 (file)
@@ -147,11 +147,15 @@ glk_select(event_t *event)
 {
        g_return_if_fail(event != NULL);
 
+       /* Flush all window buffers */
+       winid_t win;
+       for(win = glk_window_iterate(NULL, NULL); win != NULL; win = glk_window_iterate(win, NULL)) {
+               if(win->type == wintype_TextBuffer || win->type == wintype_TextGrid)
+                       flush_window_buffer(win);
+       }
+
        ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key);
-       
-       /* Emit the "waiting" signal to let listeners know we are ready for input */
-       g_signal_emit_by_name(glk_data->self, "waiting");
-       
+
        get_appropriate_event(event);
 
        /* Check for interrupt */