diff options
author | Alexander Larsson <alexl@redhat.com> | 2011-04-07 14:36:30 +0200 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2011-04-07 14:36:30 +0200 |
commit | 8c20b476df6b3f624c33ea2ac0751fb4f6da7e12 (patch) | |
tree | d20bdbac04685c985880693cbdc507d419ad072b /gdk/broadway/gdkeventsource.c | |
parent | 1a7b76d49d81b9497bfd480de1f7e2681bcb8906 (diff) | |
download | gtk+-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.c | 5 |
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)); |