summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2010-01-08 15:18:41 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2010-04-07 13:39:43 +1000
commit2297ad916a15a116e92f2549f59b222449f08b89 (patch)
treee95579f9e601e78c69d47a37fa8da12f71aed94f
parent49a2b55e0e1e265c1393c04c9df8e73f30dccd33 (diff)
dix: EventToCore needs to copy the root window too.
This value isn't actually set for normal events but it saves us some work for the record extension support. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit b4baab90c0d98bef98d485682d4a69a327a380d6) Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--dix/eventconvert.c1
-rw-r--r--test/input.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/dix/eventconvert.c b/dix/eventconvert.c
index e25f3ee97..878dba576 100644
--- a/dix/eventconvert.c
+++ b/dix/eventconvert.c
@@ -119,6 +119,7 @@ EventToCore(InternalEvent *event, xEvent *core)
core->u.keyButtonPointer.rootX = e->root_x;
core->u.keyButtonPointer.rootY = e->root_y;
core->u.keyButtonPointer.state = e->corestate;
+ core->u.keyButtonPointer.root = e->root;
EventSetKeyRepeatFlag(core, (e->type == ET_KeyPress && e->key_repeat));
}
break;
diff --git a/test/input.c b/test/input.c
index 2de55bc63..63d1a1801 100644
--- a/test/input.c
+++ b/test/input.c
@@ -153,6 +153,7 @@ static void dix_event_to_core(int type)
int rc;
int state;
int detail;
+ const int ROOT_WINDOW_ID = 0x100;
/* EventToCore memsets the event to 0 */
#define test_event() \
@@ -165,7 +166,7 @@ static void dix_event_to_core(int type)
g_assert(core.u.keyButtonPointer.state == state); \
g_assert(core.u.keyButtonPointer.eventX == 0); \
g_assert(core.u.keyButtonPointer.eventY == 0); \
- g_assert(core.u.keyButtonPointer.root == 0); \
+ g_assert(core.u.keyButtonPointer.root == ROOT_WINDOW_ID); \
g_assert(core.u.keyButtonPointer.event == 0); \
g_assert(core.u.keyButtonPointer.child == 0); \
g_assert(core.u.keyButtonPointer.sameScreen == FALSE);
@@ -181,6 +182,7 @@ static void dix_event_to_core(int type)
ev.time = time;
ev.root_y = x;
ev.root_x = y;
+ ev.root = ROOT_WINDOW_ID;
ev.corestate = state;
ev.detail.key = detail;