diff --git a/src/kits/interface/Window.cpp b/src/kits/interface/Window.cpp index 3046373bb4..049beb1368 100644 --- a/src/kits/interface/Window.cpp +++ b/src/kits/interface/Window.cpp @@ -3143,7 +3143,7 @@ BWindow::_SanitizeMessage(BMessage* message, BHandler* target, bool usePreferred uint32 transit = _TransitForMouseMoved(view, viewUnderMouse);; message->AddInt32("be:transit", transit); - if (usePreferred || viewUnderMouse == NULL) + if (usePreferred) fLastMouseMovedView = viewUnderMouse; } } diff --git a/src/servers/app/EventDispatcher.cpp b/src/servers/app/EventDispatcher.cpp index 0efb2a4764..c8f8e183a2 100644 --- a/src/servers/app/EventDispatcher.cpp +++ b/src/servers/app/EventDispatcher.cpp @@ -814,6 +814,8 @@ EventDispatcher::_EventLoop() // that the mouse has exited its views addedTokens = _AddTokens(event, fPreviousMouseTarget, B_POINTER_EVENTS); + if (addedTokens) + _SetFeedFocus(event); _SendMessage(fPreviousMouseTarget->Messenger(), event, kMouseTransitImportance);