Beginning work on graphic windows. Hopelessly broken still....
[rodin/chimara.git] / libchimara / input.c
index 9e7eea0cf533242cc7ccbc15f0ed82beefe9385c..2730e230a2f4a804b159ab2a9185ec966ac0f023 100644 (file)
@@ -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;
 }