Fixed endless loop when a BWindow is created with the B_ASYNCHRONOUS_CONTROLS flag
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12582 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1115,6 +1115,10 @@ void RootLayer::MouseEventHandler(int32 code, BPortLink& msg)
|
|||||||
|
|
||||||
STRACE(("MOUSE UP: at (%f, %f)\n", evt.where.x, evt.where.y));
|
STRACE(("MOUSE UP: at (%f, %f)\n", evt.where.x, evt.where.y));
|
||||||
|
|
||||||
|
// TODO: This is a quick fix to avoid the endless loop with windows created
|
||||||
|
// with the B_ASYNCHRONOUS_CONTROLS flag, but please someone have a look into this.
|
||||||
|
fButtons = 0;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case B_MOUSE_MOVED:
|
case B_MOUSE_MOVED:
|
||||||
@@ -1141,6 +1145,11 @@ void RootLayer::MouseEventHandler(int32 code, BPortLink& msg)
|
|||||||
debugger("RootLayer::MouseEventHandler: 'target' can't be null.\n");
|
debugger("RootLayer::MouseEventHandler: 'target' can't be null.\n");
|
||||||
WinBorder *winBorderUnder = NULL;
|
WinBorder *winBorderUnder = NULL;
|
||||||
|
|
||||||
|
// TODO: I think that windows created without the B_ASYNCHRONOUS_CONTROLS flag
|
||||||
|
// don't receive B_MOUSE_MOVED events after a B_MOUSE_DOWN. Test.
|
||||||
|
// This will need to be cleaned up as following the code flow
|
||||||
|
// is very hard.
|
||||||
|
|
||||||
// fEventMaskLayer is always != this
|
// fEventMaskLayer is always != this
|
||||||
if (fEventMaskLayer)
|
if (fEventMaskLayer)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user