diff options
-rw-r--r-- | gui/Tooltip.cpp | 1 | ||||
-rw-r--r-- | gui/gui-manager.cpp | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/gui/Tooltip.cpp b/gui/Tooltip.cpp index 067afb8246..457f53d011 100644 --- a/gui/Tooltip.cpp +++ b/gui/Tooltip.cpp @@ -72,7 +72,6 @@ bool Tooltip::tooltipModal(int x, int y) { _y = MIN<int16>(g_gui.getTopDialog()->_y + y + _ydelta, g_gui.getHeight() - _h - 3); open(); - g_gui.runLoop(); return true; } diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp index 5109539158..4e33c446eb 100644 --- a/gui/gui-manager.cpp +++ b/gui/gui-manager.cpp @@ -381,10 +381,14 @@ void GuiManager::runLoop() { _tooltipCheck = false; _tooltip->tooltipModal(_lastMousePosition.x, _lastMousePosition.y); + activeDialog = getTopDialog(); } if (eventTookplace && _tooltip) { _tooltip->mustClose(); + delete _tooltip; + _tooltip = 0; + activeDialog = getTopDialog(); } // Delay for a moment @@ -399,7 +403,7 @@ void GuiManager::runLoop() { _theme->disable(); restoreState(); _useStdCursor = false; - } + } } #pragma mark - |