From 7b2ada1607ef838666622e4c03db73219682754a Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 2 Dec 2020 09:55:41 +0100 Subject: [PATCH] Use MainWindow::instance() instead of mainWindow global var --- radio/src/thirdparty/libopenui/src/keyboard_base.h | 5 +++-- radio/src/thirdparty/libopenui/src/mainwindow.cpp | 2 +- radio/src/thirdparty/libopenui/src/mainwindow.h | 10 +++++++--- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/radio/src/thirdparty/libopenui/src/keyboard_base.h b/radio/src/thirdparty/libopenui/src/keyboard_base.h index 072a6a961..bd7376ee6 100644 --- a/radio/src/thirdparty/libopenui/src/keyboard_base.h +++ b/radio/src/thirdparty/libopenui/src/keyboard_base.h @@ -22,7 +22,8 @@ #include "mainwindow.h" #include "form.h" -class Keyboard: public FormWindow { +class Keyboard: public FormWindow +{ public: explicit Keyboard(coord_t height): FormWindow(nullptr, {0, LCD_H - height, LCD_W, height}, OPAQUE) @@ -50,7 +51,7 @@ class Keyboard: public FormWindow { activeKeyboard->clearField(); } activeKeyboard = this; - attach(&mainWindow); + attach(MainWindow::instance()); fieldContainer = getFieldContainer(newField); fieldContainer->setHeight(LCD_H - height() - fieldContainer->top()); fieldContainer->scrollTo(newField); diff --git a/radio/src/thirdparty/libopenui/src/mainwindow.cpp b/radio/src/thirdparty/libopenui/src/mainwindow.cpp index 38840e464..259c3306b 100644 --- a/radio/src/thirdparty/libopenui/src/mainwindow.cpp +++ b/radio/src/thirdparty/libopenui/src/mainwindow.cpp @@ -24,7 +24,7 @@ #include "touch.h" #endif -MainWindow mainWindow; +MainWindow * MainWindow::_instance = nullptr; #if defined(HARDWARE_TOUCH) TouchState touchState; diff --git a/radio/src/thirdparty/libopenui/src/mainwindow.h b/radio/src/thirdparty/libopenui/src/mainwindow.h index 375ec052e..2b4368917 100644 --- a/radio/src/thirdparty/libopenui/src/mainwindow.h +++ b/radio/src/thirdparty/libopenui/src/mainwindow.h @@ -31,6 +31,7 @@ class MainWindow: public Window invalidatedRect(rect) { Layer::push(this); + _instance = this; } ~MainWindow() override @@ -38,6 +39,11 @@ class MainWindow: public Window children.clear(); } + static MainWindow * instance() + { + return _instance; + } + #if defined(DEBUG_WINDOWS) std::string getName() const override { @@ -64,10 +70,8 @@ class MainWindow: public Window void run(bool trash=true); protected: + static MainWindow * _instance; static void emptyTrash(); rect_t invalidatedRect; const char * shutdown = nullptr; }; - -extern MainWindow mainWindow; -