From 7cfa4b85e103ef0cbb04b2f9b3e012262ecd41d6 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Mon, 23 Jan 2023 20:31:06 +0100 Subject: [PATCH] Fixed closing of popups --- src/popupdisplay.cpp | 12 +++--------- src/popupdisplay.h | 4 ---- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/popupdisplay.cpp b/src/popupdisplay.cpp index 3513bc3..c3b5b46 100644 --- a/src/popupdisplay.cpp +++ b/src/popupdisplay.cpp @@ -19,17 +19,11 @@ void PopupDisplay::initScreen(TftInterface &tft) initOverlay(tft); } -void PopupDisplay::redraw(TftInterface &tft) -{ - if (m_wantsClose) - closeOverlay(tft); - else - Base::redraw(tft); -} - void PopupDisplay::closeOverlay() { - m_wantsClose = true; + espgui::changeScreenCallback = [this](espgui::TftInterface &tft){ + closeOverlay(tft); + }; } void PopupDisplay::closeOverlay(TftInterface &tft) diff --git a/src/popupdisplay.h b/src/popupdisplay.h index d2b37a2..bd2dabc 100644 --- a/src/popupdisplay.h +++ b/src/popupdisplay.h @@ -17,16 +17,12 @@ public: void initScreen(TftInterface &tft) override; - void redraw(TftInterface &tft) override; - virtual void initOverlay(TftInterface &tft) = 0; void closeOverlay(); void closeOverlay(TftInterface &tft); private: std::unique_ptr m_lastDisplay; - - bool m_wantsClose{}; }; } // namespace espgui