[gtk+] [broadway] Add _gdk_broadway_display_consume_all_input
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] [broadway] Add _gdk_broadway_display_consume_all_input
- Date: Thu, 7 Apr 2011 19:19:40 +0000 (UTC)
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]