Playing around with barf
[rodin/chimara.git] / tests / barf.c
index 42b535f8d890aebcf60dc1ae3715dbeea777c3a2..a98b20877392ae8a00c1306027ca1e5aaf142b39 100644 (file)
@@ -148,17 +148,20 @@ pager_wait(GtkTextView *textview, GdkEventKey *event, GtkTextBuffer *buffer)
        switch (event->keyval) {
                case GDK_space: case GDK_KP_Space: case GDK_Page_Down: case GDK_KP_Page_Down:
                        gtk_adjustment_set_value(adj, CLAMP(value + page_size, lower, upper - page_size));
-                       return TRUE;
+                       break;
                case GDK_Page_Up: case GDK_KP_Page_Up:
                        gtk_adjustment_set_value(adj, CLAMP(value - page_size, lower, upper - page_size));
-                       return TRUE;
+                       break;
                case GDK_Return: case GDK_KP_Enter:
                        gtk_adjustment_set_value(adj, CLAMP(value + step_increment, lower, upper - page_size));
-                       return TRUE;
+                       break;
                        /* don't handle "up" and "down", they're used for input history */
+               default:
+                       return FALSE; /* if the key wasn't handled here, pass it to other handlers */
        }
-       
-       return FALSE; /* if the key wasn't handled here, pass it to other handlers */
+
+       gdk_window_process_updates(gtk_widget_get_window(GTK_WIDGET(textview)), TRUE);
+       return TRUE; /* handled it, stop this event now */
 }
 
 /* Draw the "more" prompt on top of the buffer, after the regular expose event has run */