|
|
|
@@ -2286,11 +2286,11 @@ void Component::internalMouseExit (MouseInputSource& source, const Point<int>& r |
|
|
|
void Component::internalMouseDown (MouseInputSource& source, const Point<int>& relativePos, const Time& time)
|
|
|
|
{
|
|
|
|
Desktop& desktop = Desktop::getInstance();
|
|
|
|
|
|
|
|
BailOutChecker checker (this);
|
|
|
|
|
|
|
|
if (isCurrentlyBlockedByAnotherModalComponent())
|
|
|
|
{
|
|
|
|
flags.mouseDownWasBlocked = true;
|
|
|
|
internalModalInputAttempt();
|
|
|
|
|
|
|
|
if (checker.shouldBailOut())
|
|
|
|
@@ -2310,6 +2310,8 @@ void Component::internalMouseDown (MouseInputSource& source, const Point<int>& r |
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
flags.mouseDownWasBlocked = false;
|
|
|
|
|
|
|
|
for (Component* c = this; c != nullptr; c = c->parentComponent)
|
|
|
|
{
|
|
|
|
if (c->isBroughtToFrontOnMouseClick())
|
|
|
|
@@ -2345,11 +2347,11 @@ void Component::internalMouseDown (MouseInputSource& source, const Point<int>& r |
|
|
|
MouseListenerList::sendMouseEvent (*this, checker, &MouseListener::mouseDown, me);
|
|
|
|
}
|
|
|
|
|
|
|
|
void Component::internalMouseUp (MouseInputSource& source, const Point<int>& relativePos, const Time& time, const ModifierKeys& oldModifiers)
|
|
|
|
void Component::internalMouseUp (MouseInputSource& source, const Point<int>& relativePos,
|
|
|
|
const Time& time, const ModifierKeys& oldModifiers)
|
|
|
|
{
|
|
|
|
// NB: don't check whether there's a modal comp blocking this one, because if there is, it
|
|
|
|
// must have been created during a mouse-drag on this component, and if so, this comp will
|
|
|
|
// still want to get the corresponding mouse-up.
|
|
|
|
if (flags.mouseDownWasBlocked && isCurrentlyBlockedByAnotherModalComponent())
|
|
|
|
return;
|
|
|
|
|
|
|
|
BailOutChecker checker (this);
|
|
|
|
|
|
|
|
|