Traps illegal printing to a window with line input pending
authorfliep <fliep@ddfedd41-794f-dd11-ae45-00112f111e67>
Fri, 22 May 2009 09:52:05 +0000 (09:52 +0000)
committerfliep <fliep@ddfedd41-794f-dd11-ae45-00112f111e67>
Fri, 22 May 2009 09:52:05 +0000 (09:52 +0000)
src/strio.c

index 4517b38dec72e9122f08969bc766c313e7e9f093..e30d52bdda39638a6eb1529e0c974b065cb8a695 100644 (file)
 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) );