From: fliep Date: Fri, 22 May 2009 09:52:05 +0000 (+0000) Subject: Traps illegal printing to a window with line input pending X-Git-Tag: v0.9~401 X-Git-Url: https://git.stderr.nl/gitweb?a=commitdiff_plain;ds=sidebyside;h=ab2168bc25e8c58cffaa1f4919ef830cfd4c78af;p=projects%2Fchimara%2Fchimara.git Traps illegal printing to a window with line input pending --- diff --git a/src/strio.c b/src/strio.c index 4517b38..e30d52b 100644 --- a/src/strio.c +++ b/src/strio.c @@ -17,6 +17,12 @@ static void write_utf8_to_grid(winid_t win, gchar *s) { + if(win->input_request_type == INPUT_REQUEST_LINE || win->input_request_type == INPUT_REQUEST_LINE_UNICODE) + { + ILLEGAL("Tried to print to a text grid window with line input pending."); + return; + } + /* Number of characters to insert */ glong length = g_utf8_strlen(s, -1); glong chars_left = length; @@ -59,6 +65,12 @@ write_utf8_to_grid(winid_t win, gchar *s) static void write_utf8_to_window(winid_t win, gchar *s) { + if(win->input_request_type == INPUT_REQUEST_LINE || win->input_request_type == INPUT_REQUEST_LINE_UNICODE) + { + ILLEGAL("Tried to print to a text buffer window with line input pending."); + return; + } + gdk_threads_enter(); GtkTextBuffer *buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW(win->widget) );