diff options
author | Alexander Larsson <alexl@redhat.com> | 2011-03-14 12:09:19 +0100 |
---|---|---|
committer | Alexander Larsson <alexl@redhat.com> | 2011-03-14 12:09:19 +0100 |
commit | a1de735b8792afa89baf83e0f8570fc9e6ad92c9 (patch) | |
tree | 4d172446358a2eb919aa2da41b93f77e3bf5a2ec /gdk/broadway/gdkeventsource.c | |
parent | e53abee8054da90c887e0f265de7048321277a1e (diff) | |
download | gtk+-a1de735b8792afa89baf83e0f8570fc9e6ad92c9.tar.gz |
broadway: Track button state
Diffstat (limited to 'gdk/broadway/gdkeventsource.c')
-rw-r--r-- | gdk/broadway/gdkeventsource.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gdk/broadway/gdkeventsource.c b/gdk/broadway/gdkeventsource.c index 26e23c7441..923c1171a6 100644 --- a/gdk/broadway/gdkeventsource.c +++ b/gdk/broadway/gdkeventsource.c @@ -94,6 +94,7 @@ typedef struct { int root_y; int win_x; int win_y; + guint32 state; guint64 time; } PointerData; @@ -110,6 +111,8 @@ parse_pointer_data (char *p, PointerData *data) p++; /* Skip , */ data->win_y = strtol (p, &p, 10); p++; /* Skip , */ + data->state = strtol (p, &p, 10); + p++; /* Skip , */ data->time = strtol(p, &p, 10); return p; @@ -162,6 +165,7 @@ _gdk_broadway_events_got_input (GdkDisplay *display, event->crossing.y = data.win_y; event->crossing.x_root = data.root_x; event->crossing.y_root = data.root_y; + event->crossing.state = data.state; event->crossing.mode = detail; event->crossing.detail = GDK_NOTIFY_ANCESTOR; gdk_event_set_device (event, display->core_pointer); @@ -199,6 +203,7 @@ _gdk_broadway_events_got_input (GdkDisplay *display, event->crossing.y = data.win_y; event->crossing.x_root = data.root_x; event->crossing.y_root = data.root_y; + event->crossing.state = data.state; event->crossing.mode = GDK_CROSSING_NORMAL; event->crossing.detail = detail; gdk_event_set_device (event, display->core_pointer); @@ -232,6 +237,7 @@ _gdk_broadway_events_got_input (GdkDisplay *display, event->motion.y = data.win_y; event->motion.x_root = data.root_x; event->motion.y_root = data.root_y; + event->motion.state = data.state; gdk_event_set_device (event, display->core_pointer); node = _gdk_event_queue_append (display, event); @@ -259,6 +265,7 @@ _gdk_broadway_events_got_input (GdkDisplay *display, event->button.x_root = data.root_x; event->button.y_root = data.root_y; event->button.button = button + 1; + event->button.state = data.state; gdk_event_set_device (event, display->core_pointer); node = _gdk_event_queue_append (display, event); |