diff options
Diffstat (limited to 'xorg-server')
-rw-r--r-- | xorg-server/dix/events.c | 16 | ||||
-rw-r--r-- | xorg-server/os/osinit.c | 2 |
2 files changed, 13 insertions, 5 deletions
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c index dd9dce7bb..4f9a762bb 100644 --- a/xorg-server/dix/events.c +++ b/xorg-server/dix/events.c @@ -1596,13 +1596,10 @@ DeactivateKeyboardGrab(DeviceIntPtr keybd) { GrabPtr grab = keybd->deviceGrab.grab; DeviceIntPtr dev; - WindowPtr focusWin = keybd->focus ? keybd->focus->win - : keybd->spriteInfo->sprite->win; + WindowPtr focusWin; Bool wasImplicit = (keybd->deviceGrab.fromPassiveGrab && keybd->deviceGrab.implicitGrab); - if (focusWin == FollowKeyboardWin) - focusWin = inputInfo.keyboard->focus->win; if (keybd->valuator) keybd->valuator->motionHintWindow = NullWindow; keybd->deviceGrab.grab = NullGrab; @@ -1613,6 +1610,17 @@ DeactivateKeyboardGrab(DeviceIntPtr keybd) if (dev->deviceGrab.sync.other == grab) dev->deviceGrab.sync.other = NullGrab; } + + if (keybd->focus) + focusWin = keybd->focus->win; + else if (keybd->spriteInfo->sprite) + focusWin = keybd->spriteInfo->sprite->win; + else + focusWin = NullWindow; + + if (focusWin == FollowKeyboardWin) + focusWin = inputInfo.keyboard->focus->win; + DoFocusEvents(keybd, grab->window, focusWin, NotifyUngrab); if (!wasImplicit && grab->grabtype == XI2) diff --git a/xorg-server/os/osinit.c b/xorg-server/os/osinit.c index 8a959a39c..76e170ec5 100644 --- a/xorg-server/os/osinit.c +++ b/xorg-server/os/osinit.c @@ -129,7 +129,7 @@ OsSigHandler(int signo) #ifdef SA_SIGINFO if (sip->si_code == SI_USER) { - ErrorFSigSafe("Recieved signal %u sent by process %u, uid %u\n", signo, + ErrorFSigSafe("Received signal %u sent by process %u, uid %u\n", signo, sip->si_pid, sip->si_uid); } else { |