aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui/Tooltip.cpp1
-rw-r--r--gui/gui-manager.cpp6
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 -