summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/mainwindow.cpp
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-09-22 14:33:33 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-09-25 13:35:30 -0700
commit05200f9266a4e8e723450abb281c597a48da2e9f (patch)
tree670d7b30f4b77f40e35253243f95fb219d5c7aea /desktop-widgets/mainwindow.cpp
parentf20d6187f0135ef3cf7f583785be65012336a99d (diff)
downloadsubsurface-05200f9266a4e8e723450abb281c597a48da2e9f.tar.gz
Cleanup: unify idiosyncratic singletons
The way we handle singletons in QML, QML insists on allocating the objects. This leads to a very idiosyncratic way of handling singletons: The global instance pointer is set in the constructor. Unify all these by implementing a "SillySingleton" template. All of the weird singleton-classes can derive from this template and don't have to bother with reimplementing the instance() function with all the safety-checks, etc. This serves firstly as documentation but also improves debugging as we will now see wanted and unwanted creation and destruction of these weird singletons. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets/mainwindow.cpp')
-rw-r--r--desktop-widgets/mainwindow.cpp10
1 files changed, 0 insertions, 10 deletions
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp
index bed142ecc..ef55b3d06 100644
--- a/desktop-widgets/mainwindow.cpp
+++ b/desktop-widgets/mainwindow.cpp
@@ -109,8 +109,6 @@ extern "C" int updateProgress(const char *text)
return progressDialogCanceled;
}
-MainWindow *MainWindow::m_Instance = nullptr;
-
extern "C" void showErrorFromC(char *buf)
{
QString error(buf);
@@ -128,8 +126,6 @@ MainWindow::MainWindow() : QMainWindow(),
survey(nullptr),
findMovedImagesDialog(nullptr)
{
- Q_ASSERT_X(m_Instance == NULL, "MainWindow", "MainWindow recreated!");
- m_Instance = this;
ui.setupUi(this);
read_hashes();
Command::init();
@@ -357,7 +353,6 @@ MainWindow::MainWindow() : QMainWindow(),
MainWindow::~MainWindow()
{
write_hashes();
- m_Instance = nullptr;
}
void MainWindow::setupSocialNetworkMenu()
@@ -398,11 +393,6 @@ void MainWindow::setDefaultState()
ui.bottomLeft->currentWidget()->setEnabled(false);
}
-MainWindow *MainWindow::instance()
-{
- return m_Instance;
-}
-
// This gets called after one or more dives were added, edited or downloaded for a dive computer
void MainWindow::refreshDisplay(bool doRecreateDiveList)
{