X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Finput.c;h=2730e230a2f4a804b159ab2a9185ec966ac0f023;hb=65f88142d8843d16c203efad8830fbebba888f0f;hp=9e7eea0cf533242cc7ccbc15f0ed82beefe9385c;hpb=4b0bbd6bb235b4cad89d321cdd7f570610a97712;p=rodin%2Fchimara.git diff --git a/libchimara/input.c b/libchimara/input.c index 9e7eea0..2730e23 100644 --- a/libchimara/input.c +++ b/libchimara/input.c @@ -368,6 +368,7 @@ glk_cancel_line_event(winid_t win, event_t *event) int chars_written = 0; + gdk_threads_enter(); if(win->type == wintype_TextGrid) { chars_written = finish_text_grid_line_input(win, FALSE); } else if(win->type == wintype_TextBuffer) { @@ -376,6 +377,7 @@ glk_cancel_line_event(winid_t win, event_t *event) g_signal_handler_block(window_buffer, win->insert_text_handler); chars_written = finish_text_buffer_line_input(win, FALSE); } + gdk_threads_leave(); ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); if(glk_data->unregister_arr) @@ -434,7 +436,7 @@ on_char_input_key_press_event(GtkWidget *widget, GdkEventKey *event, winid_t win /* Only one keypress will be handled */ win->input_request_type = INPUT_REQUEST_NONE; - g_signal_handler_block( win->widget, win->char_input_keypress_handler ); + g_signal_handler_block(win->widget, win->char_input_keypress_handler); return TRUE; }