summaryrefslogtreecommitdiff
path: root/gdk/broadway/gdkeventsource.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2011-04-07 14:36:30 +0200
committerAlexander Larsson <alexl@redhat.com>2011-04-07 14:36:30 +0200
commit8c20b476df6b3f624c33ea2ac0751fb4f6da7e12 (patch)
treed20bdbac04685c985880693cbdc507d419ad072b /gdk/broadway/gdkeventsource.c
parent1a7b76d49d81b9497bfd480de1f7e2681bcb8906 (diff)
downloadgtk+-8c20b476df6b3f624c33ea2ac0751fb4f6da7e12.tar.gz
[broadway] Track and report last and future state
This fixes the drawing area demo in gtk-demo
Diffstat (limited to 'gdk/broadway/gdkeventsource.c')
-rw-r--r--gdk/broadway/gdkeventsource.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdk/broadway/gdkeventsource.c b/gdk/broadway/gdkeventsource.c
index 0ff7b4d393..2e27416354 100644
--- a/gdk/broadway/gdkeventsource.c
+++ b/gdk/broadway/gdkeventsource.c
@@ -103,6 +103,7 @@ _gdk_broadway_events_got_input (GdkDisplay *display,
case 'e': /* Enter */
display_broadway->last_x = message->pointer.root_x;
display_broadway->last_y = message->pointer.root_y;
+ display_broadway->last_state = message->pointer.state;
display_broadway->real_mouse_in_toplevel =
g_hash_table_lookup (display_broadway->id_ht, GINT_TO_POINTER (message->pointer.mouse_window_id));
@@ -139,6 +140,7 @@ _gdk_broadway_events_got_input (GdkDisplay *display,
case 'l': /* Leave */
display_broadway->last_x = message->pointer.root_x;
display_broadway->last_y = message->pointer.root_y;
+ display_broadway->last_state = message->pointer.state;
display_broadway->real_mouse_in_toplevel =
g_hash_table_lookup (display_broadway->id_ht, GINT_TO_POINTER (message->pointer.mouse_window_id));
@@ -174,6 +176,7 @@ _gdk_broadway_events_got_input (GdkDisplay *display,
case 'm': /* Mouse move */
display_broadway->last_x = message->pointer.root_x;
display_broadway->last_y = message->pointer.root_y;
+ display_broadway->last_state = message->pointer.state;
display_broadway->real_mouse_in_toplevel =
g_hash_table_lookup (display_broadway->id_ht, GINT_TO_POINTER (message->pointer.mouse_window_id));
@@ -199,6 +202,7 @@ _gdk_broadway_events_got_input (GdkDisplay *display,
case 'B':
display_broadway->last_x = message->pointer.root_x;
display_broadway->last_y = message->pointer.root_y;
+ display_broadway->last_state = message->pointer.state;
display_broadway->real_mouse_in_toplevel =
g_hash_table_lookup (display_broadway->id_ht, GINT_TO_POINTER (message->pointer.mouse_window_id));
@@ -224,6 +228,7 @@ _gdk_broadway_events_got_input (GdkDisplay *display,
case 's':
display_broadway->last_x = message->pointer.root_x;
display_broadway->last_y = message->pointer.root_y;
+ display_broadway->last_state = message->pointer.state;
display_broadway->real_mouse_in_toplevel =
g_hash_table_lookup (display_broadway->id_ht, GINT_TO_POINTER (message->pointer.mouse_window_id));