|
|
@@ -1755,6 +1755,13 @@ void Component::exitModalState (const int returnValue) |
|
|
|
ModalComponentManager& mcm = *ModalComponentManager::getInstance();
|
|
|
|
mcm.endModal (this, returnValue);
|
|
|
|
mcm.bringModalComponentsToFront();
|
|
|
|
|
|
|
|
// If the mouse is over another Component when we exit the modal state then send a mouse enter event
|
|
|
|
if (MouseInputSource* mouse = Desktop::getInstance().getMouseSource (0))
|
|
|
|
{
|
|
|
|
if (Component* c = mouse->getComponentUnderMouse())
|
|
|
|
c->internalMouseEnter (*mouse, mouse->getScreenPosition(), Time::getCurrentTime());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
@@ -2406,6 +2413,13 @@ void Component::internalMouseEnter (MouseInputSource source, Point<float> relati |
|
|
|
|
|
|
|
void Component::internalMouseExit (MouseInputSource source, Point<float> relativePos, Time time)
|
|
|
|
{
|
|
|
|
if (isCurrentlyBlockedByAnotherModalComponent())
|
|
|
|
{
|
|
|
|
// if something else is modal, always just show a normal mouse cursor
|
|
|
|
source.showMouseCursor (MouseCursor::NormalCursor);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (flags.repaintOnMouseActivityFlag)
|
|
|
|
repaint();
|
|
|
|
|
|
|
|