summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2012-01-05 12:07:42 -0500
committerChristopher James Halse Rogers <christopher.halse.rogers@canonical.com>2012-06-13 15:26:19 +1000
commit566ad0ffc1bba8ca56609283c067715ea45fc2bc (patch)
tree47d278ecf6ff1ed6ad60c08d71fe8614e86d5f3c
parent287baa584c19f8a94455a3bdffa1a9d36d3f1fc3 (diff)
Make SetDeviceRedirectWindow() work right with non-master devices
-rw-r--r--Xi/exevents.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Xi/exevents.c b/Xi/exevents.c
index 101ceadf5..260636456 100644
--- a/Xi/exevents.c
+++ b/Xi/exevents.c
@@ -2005,9 +2005,13 @@ void
SetDeviceRedirectWindow(DeviceIntPtr dev, WindowPtr window)
{
SpritePtr pSprite = dev->spriteInfo->sprite;
+ DeviceIntPtr mouse;
+
+ mouse = (IsMaster(dev) || dev->u.master) ? GetMaster(dev, MASTER_POINTER) : dev;
pSprite->redirectWindow = window;
- CheckMotion(NULL, dev);
+
+ CheckMotion(NULL, mouse);
}
int