[Scummvm-git-logs] scummvm master -> 915dce50eadde03fc93f0846c74aa52ebe4dd5b4
mikrosk
noreply at scummvm.org
Mon May 1 01:36:24 UTC 2023
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
915dce50ea Revert "GUI: Don't enforce full redraw upon closing tool tip"
Commit: 915dce50eadde03fc93f0846c74aa52ebe4dd5b4
https://github.com/scummvm/scummvm/commit/915dce50eadde03fc93f0846c74aa52ebe4dd5b4
Author: Miro Kropacek (miro.kropacek at gmail.com)
Date: 2023-05-01T03:37:26+02:00
Commit Message:
Revert "GUI: Don't enforce full redraw upon closing tool tip"
Unfortunately, it is not that simple. Tooltip may be placed also outside
of the dialog. Current implementation leaves tooltip leftovers over
the dialog below the topmost one, so reverting until I find a correct
way to achieve the goal.
This reverts commit 19b7b2aa20aa31f3c81245d5fc87f47744399c34.
Changed paths:
gui/Tooltip.cpp
gui/Tooltip.h
gui/gui-manager.cpp
gui/gui-manager.h
diff --git a/gui/Tooltip.cpp b/gui/Tooltip.cpp
index d96f04ed4c8..23e5b5f7437 100644
--- a/gui/Tooltip.cpp
+++ b/gui/Tooltip.cpp
@@ -97,19 +97,4 @@ void Tooltip::drawDialog(DrawLayer layerToDraw) {
}
}
-void Tooltip::close() {
- // copy&paste from Dialog::close()
- _visible = false;
-
- if (_mouseWidget) {
- _mouseWidget->handleMouseLeft(0);
- _mouseWidget = nullptr;
- }
- releaseFocus();
- g_gui.closeTopDialog(false);
-
- // instead of kRedrawCloseDialog schedule kRedrawTopDialog of the parent
- g_gui.scheduleTopDialogRedraw();
-}
-
}
diff --git a/gui/Tooltip.h b/gui/Tooltip.h
index 3d79ef5e504..2f188764ff3 100644
--- a/gui/Tooltip.h
+++ b/gui/Tooltip.h
@@ -43,8 +43,6 @@ public:
void receivedFocus(int x = -1, int y = -1) override {}
protected:
- void close() override;
-
void handleMouseDown(int x, int y, int button, int clickCount) override {
close();
_parent->handleMouseDown(x + (getAbsX() - _parent->getAbsX()), y + (getAbsY() - _parent->getAbsY()), button, clickCount);
diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp
index 2c1b571ce1a..f9477b2c4ca 100644
--- a/gui/gui-manager.cpp
+++ b/gui/gui-manager.cpp
@@ -614,7 +614,7 @@ void GuiManager::openDialog(Dialog *dialog) {
dialog->reflowLayout();
}
-void GuiManager::closeTopDialog(bool redraw) {
+void GuiManager::closeTopDialog() {
// Don't do anything if no dialog is open
if (_dialogStack.empty())
return;
@@ -627,12 +627,10 @@ void GuiManager::closeTopDialog(bool redraw) {
giveFocusToDialog(dialog);
}
- if (redraw) {
- if (_redrawStatus != kRedrawFull)
- _redrawStatus = kRedrawCloseDialog;
+ if (_redrawStatus != kRedrawFull)
+ _redrawStatus = kRedrawCloseDialog;
- this->redraw();
- }
+ redraw();
}
void GuiManager::setupCursor() {
diff --git a/gui/gui-manager.h b/gui/gui-manager.h
index 7881c6d17a0..8dfb46210ba 100644
--- a/gui/gui-manager.h
+++ b/gui/gui-manager.h
@@ -71,7 +71,6 @@ typedef Common::FixedStack<Dialog *> DialogStack;
*/
class GuiManager : public Common::Singleton<GuiManager>, public CommandSender {
friend class Dialog;
- friend class Tooltip;
friend class Common::Singleton<SingletonBaseType>;
GuiManager();
~GuiManager() override;
@@ -212,7 +211,7 @@ protected:
void restoreState();
void openDialog(Dialog *dialog);
- void closeTopDialog(bool redraw = true);
+ void closeTopDialog();
void redraw();
More information about the Scummvm-git-logs
mailing list