[gtk+] [broadway] Add _gdk_broadway_display_consume_all_input



commit a0048d5e70c599a77d9f228f8254d721da448aa9
Author: Alexander Larsson <alexl redhat com>
Date:   Tue Apr 5 10:44:53 2011 +0200

    [broadway] Add _gdk_broadway_display_consume_all_input
    
    This parses and queues all currently availible input data non-blockingly.
    Useful to ensure the latest up-to-date future info.

 gdk/broadway/gdkdisplay-broadway.c |   15 +++++++++++++++
 gdk/broadway/gdkprivate-broadway.h |    1 +
 2 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/gdk/broadway/gdkdisplay-broadway.c b/gdk/broadway/gdkdisplay-broadway.c
index 9bc4ff9..16bd99e 100644
--- a/gdk/broadway/gdkdisplay-broadway.c
+++ b/gdk/broadway/gdkdisplay-broadway.c
@@ -375,6 +375,21 @@ _gdk_broadway_display_read_all_input_nonblocking (GdkDisplay *display)
   parse_input (input);
 }
 
+void
+_gdk_broadway_display_consume_all_input (GdkDisplay *display)
+{
+  GdkBroadwayDisplay *broadway_display;
+
+  broadway_display = GDK_BROADWAY_DISPLAY (display);
+  _gdk_broadway_display_read_all_input_nonblocking (display);
+
+  /* Since we're parsing input but not processing the resulting messages
+     we might not get a readable callback on the stream, so queue an idle to
+     process the messages */
+  queue_process_input_at_idle (broadway_display);
+}
+
+
 static gboolean
 input_data_cb (GObject  *stream,
 	       BroadwayInput *input)
diff --git a/gdk/broadway/gdkprivate-broadway.h b/gdk/broadway/gdkprivate-broadway.h
index 19f9acb..b33dd9c 100644
--- a/gdk/broadway/gdkprivate-broadway.h
+++ b/gdk/broadway/gdkprivate-broadway.h
@@ -187,6 +187,7 @@ gint _gdk_broadway_display_text_property_to_utf8_list (GdkDisplay    *display,
 gchar *_gdk_broadway_display_utf8_to_string_target (GdkDisplay  *display,
 						    const gchar *str);
 GdkKeymap* _gdk_broadway_display_get_keymap (GdkDisplay *display);
+void _gdk_broadway_display_consume_all_input (GdkDisplay *display);
 BroadwayInputMsg * _gdk_broadway_display_block_for_input (GdkDisplay *display,
 							  char op,
 							  guint32 serial,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]