X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fevent.c;h=199a837eae0343d2958773380da3757466960990;hb=59f3bc1e4f21377c362c1f497fb225711127d7a0;hp=765f6645bd234f01dd9b21d7b1871e664a970369;hpb=d5cba75653b3af23b3f071e8860053aba675e945;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/event.c b/libchimara/event.c index 765f664..199a837 100644 --- a/libchimara/event.c +++ b/libchimara/event.c @@ -147,8 +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); - + get_appropriate_event(event); /* Check for interrupt */ @@ -232,6 +239,9 @@ glk_select_poll(event_t *event) ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); event->type = evtype_None; + event->win = NULL; + event->val1 = 0; + event->val2 = 0; g_mutex_lock(glk_data->event_lock);