From 84081467b9354634db1f8887233356552b70a53e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 25 Nov 2005 20:32:09 +0000 Subject: [PATCH] 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 --- src/kits/interface/Window.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/kits/interface/Window.cpp b/src/kits/interface/Window.cpp index 0c9e1d3a9b..6c47db0abc 100644 --- a/src/kits/interface/Window.cpp +++ b/src/kits/interface/Window.cpp @@ -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(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(handler); }