Don't trust the app_server that the view token under the mouse belongs to the

current looper.
This needs an investigation in the app_server, as that probably shouldn't happen?
(well, I wrote that part, I should know better)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15154 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2005-11-25 20:32:09 +00:00
parent 8eb8269db6
commit 84081467b9
+4 -2
View File
@@ -2448,7 +2448,8 @@ BWindow::_DetermineTarget(BMessage *message, BHandler *target)
if (message->FindInt32("_view_token", &token) == B_OK) {
BHandler* handler;
if (gDefaultTokens.GetToken(token, B_HANDLER_TOKEN,
(void**)&handler) == B_OK) {
(void**)&handler) == B_OK
&& handler->Looper() == this) {
BView* view = dynamic_cast<BView*>(handler);
if (view != NULL)
return view;
@@ -2594,7 +2595,8 @@ BWindow::_SanitizeMessage(BMessage* message, BHandler* target, bool usePreferred
if (message->FindInt32("_view_token", &token) == B_OK) {
BHandler* handler;
if (gDefaultTokens.GetToken(token, B_HANDLER_TOKEN,
(void**)&handler) == B_OK)
(void**)&handler) == B_OK
&& handler->Looper() == this)
viewUnderMouse = dynamic_cast<BView*>(handler);
}