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>
This commit is contained in:
parent
27fc98ecfe
commit
b4baab90c0
|
@ -119,6 +119,7 @@ EventToCore(InternalEvent *event, xEvent *core)
|
||||||
core->u.keyButtonPointer.rootX = e->root_x;
|
core->u.keyButtonPointer.rootX = e->root_x;
|
||||||
core->u.keyButtonPointer.rootY = e->root_y;
|
core->u.keyButtonPointer.rootY = e->root_y;
|
||||||
core->u.keyButtonPointer.state = e->corestate;
|
core->u.keyButtonPointer.state = e->corestate;
|
||||||
|
core->u.keyButtonPointer.root = e->root;
|
||||||
EventSetKeyRepeatFlag(core, (e->type == ET_KeyPress && e->key_repeat));
|
EventSetKeyRepeatFlag(core, (e->type == ET_KeyPress && e->key_repeat));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -153,6 +153,7 @@ static void dix_event_to_core(int type)
|
||||||
int rc;
|
int rc;
|
||||||
int state;
|
int state;
|
||||||
int detail;
|
int detail;
|
||||||
|
const int ROOT_WINDOW_ID = 0x100;
|
||||||
|
|
||||||
/* EventToCore memsets the event to 0 */
|
/* EventToCore memsets the event to 0 */
|
||||||
#define test_event() \
|
#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.state == state); \
|
||||||
g_assert(core.u.keyButtonPointer.eventX == 0); \
|
g_assert(core.u.keyButtonPointer.eventX == 0); \
|
||||||
g_assert(core.u.keyButtonPointer.eventY == 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.event == 0); \
|
||||||
g_assert(core.u.keyButtonPointer.child == 0); \
|
g_assert(core.u.keyButtonPointer.child == 0); \
|
||||||
g_assert(core.u.keyButtonPointer.sameScreen == FALSE);
|
g_assert(core.u.keyButtonPointer.sameScreen == FALSE);
|
||||||
|
@ -181,6 +182,7 @@ static void dix_event_to_core(int type)
|
||||||
ev.time = time;
|
ev.time = time;
|
||||||
ev.root_y = x;
|
ev.root_y = x;
|
||||||
ev.root_x = y;
|
ev.root_x = y;
|
||||||
|
ev.root = ROOT_WINDOW_ID;
|
||||||
ev.corestate = state;
|
ev.corestate = state;
|
||||||
ev.detail.key = detail;
|
ev.detail.key = detail;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue