From 0e835651a52220dd415c00812fd5d01ae3af3baa Mon Sep 17 00:00:00 2001 From: Adi Oanca Date: Thu, 3 Feb 2005 21:41:09 +0000 Subject: [PATCH] BView::MouseDown() finally gets called git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11239 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Window.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/kits/interface/Window.cpp b/src/kits/interface/Window.cpp index 7747535418..92da4d0de5 100644 --- a/src/kits/interface/Window.cpp +++ b/src/kits/interface/Window.cpp @@ -853,13 +853,25 @@ void BWindow::DispatchMessage(BMessage *msg, BHandler *target) uint32 modifiers; uint32 buttons; int32 clicks; + int32 viewToken; + BView *targetView; msg->FindPoint( "where", &where ); msg->FindInt32( "modifiers", (int32*)&modifiers ); msg->FindInt32( "buttons", (int32*)&buttons ); msg->FindInt32( "clicks", &clicks ); - - sendMessageUsingEventMask( B_MOUSE_DOWN, where ); + msg->FindInt32( "haiku:token", &viewToken ); + msg->RemoveName("haiku:token"); + + targetView = findView(top_view, viewToken); + if (viewToken != B_NULL_TOKEN && targetView) + { + targetView->ConvertFromScreen(&where); + targetView->MouseDown(where); + } + +// TODO: use the following line later, instead of the above 2. +// sendMessageUsingEventMask( B_MOUSE_DOWN, where ); break; } case B_MOUSE_UP: