aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/dix/events.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-02-11 08:04:06 +0100
committermarha <marha@users.sourceforge.net>2013-02-11 08:04:06 +0100
commitc4583f59d8460f05ee211c2f8ed6208addfe3087 (patch)
tree59420aaa7f249fcf3766adfab41e5285d48048e8 /xorg-server/dix/events.c
parent71ff3367cab660035c6ea38e5171841dacd461b5 (diff)
parent8753441b3ba4316448e1ae5f408e6a84b0116a3c (diff)
downloadvcxsrv-c4583f59d8460f05ee211c2f8ed6208addfe3087.tar.gz
vcxsrv-c4583f59d8460f05ee211c2f8ed6208addfe3087.tar.bz2
vcxsrv-c4583f59d8460f05ee211c2f8ed6208addfe3087.zip
Merge remote-tracking branch 'origin/released'
* origin/released: xserver mesa git update 11 Feb 2013
Diffstat (limited to 'xorg-server/dix/events.c')
-rw-r--r--xorg-server/dix/events.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c
index cb9440b7c..f895365d6 100644
--- a/xorg-server/dix/events.c
+++ b/xorg-server/dix/events.c
@@ -4575,6 +4575,7 @@ DeviceEnterLeaveEvent(DeviceIntPtr mouse,
{
GrabPtr grab = mouse->deviceGrab.grab;
xXIEnterEvent *event;
+ WindowPtr focus;
int filter;
int btlen, len, i;
DeviceIntPtr kbd;
@@ -4616,6 +4617,11 @@ DeviceEnterLeaveEvent(DeviceIntPtr mouse,
event->group.locked_group = kbd->key->xkbInfo->state.locked_group;
}
+ focus = (kbd) ? kbd->focus->win : None;
+ if ((focus != NoneWin) &&
+ ((pWin == focus) || (focus == PointerRootWin) || IsParent(focus, pWin)))
+ event->focus = TRUE;
+
FixUpEventFromWindow(mouse->spriteInfo->sprite, (xEvent *) event, pWin,
None, FALSE);