The client-side implementation of B_NO_POINTER_HISTORY did only work for SetEventMask(),

but not for SetMouseEventMask(). We now track the value of that mask in a dedicated
member variable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22022 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2007-08-20 23:24:26 +00:00
parent e46b225479
commit b78583734c
3 changed files with 14 additions and 16 deletions
+3 -1
View File
@@ -1032,6 +1032,7 @@ FrameMoved(origin);
if (BView *view = dynamic_cast<BView *>(target)) {
BPoint where;
msg->FindPoint("be:view_where", &where);
view->fMouseEventOptions = 0;
view->MouseUp(where);
} else
target->MessageReceived(msg);
@@ -1042,7 +1043,8 @@ FrameMoved(origin);
case B_MOUSE_MOVED:
{
if (BView *view = dynamic_cast<BView *>(target)) {
if (view->fEventOptions & B_NO_POINTER_HISTORY) {
if (((view->fEventOptions | view->fMouseEventOptions)
& B_NO_POINTER_HISTORY) != 0) {
// filter out older mouse moved messages in the queue
_DequeueAll();
BMessageQueue *queue = MessageQueue();