summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2013-06-28 15:20:42 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-06-28 20:23:59 +0800
commit880b8394d2b063c1bbd6597c2cb6c51f0a1d66c1 (patch)
treef863c91877216d29ed4017cd0c607e230d4b075d /qt-ui
parent233e245b78e98c9bb723c9b347b43a6c1a1a6843 (diff)
downloadsubsurface-880b8394d2b063c1bbd6597c2cb6c51f0a1d66c1.tar.gz
Close child windows and dialogs with main window
Most child windows should be closed with the main application window otherwise if left open and if making specific modifictions could potentially cause a SIGSEGV. To solve that we mark all custom windows/dialogs with the Qt::WA_QuitOnClose attribute on instance creation. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/about.cpp1
-rw-r--r--qt-ui/divecomputermanagementdialog.cpp1
-rw-r--r--qt-ui/downloadfromdivecomputer.cpp1
-rw-r--r--qt-ui/mainwindow.cpp1
-rw-r--r--qt-ui/preferences.cpp1
-rw-r--r--qt-ui/subsurfacewebservices.cpp1
6 files changed, 6 insertions, 0 deletions
diff --git a/qt-ui/about.cpp b/qt-ui/about.cpp
index 18b54b956..1a96b6257 100644
--- a/qt-ui/about.cpp
+++ b/qt-ui/about.cpp
@@ -9,6 +9,7 @@
SubsurfaceAbout *SubsurfaceAbout::instance()
{
static SubsurfaceAbout *self = new SubsurfaceAbout();
+ self->setAttribute(Qt::WA_QuitOnClose, false);
return self;
}
diff --git a/qt-ui/divecomputermanagementdialog.cpp b/qt-ui/divecomputermanagementdialog.cpp
index 2a1bb8bff..beb0ea45e 100644
--- a/qt-ui/divecomputermanagementdialog.cpp
+++ b/qt-ui/divecomputermanagementdialog.cpp
@@ -26,6 +26,7 @@ void DiveComputerManagementDialog::init()
DiveComputerManagementDialog* DiveComputerManagementDialog::instance()
{
static DiveComputerManagementDialog *self = new DiveComputerManagementDialog();
+ self->setAttribute(Qt::WA_QuitOnClose, false);
return self;
}
diff --git a/qt-ui/downloadfromdivecomputer.cpp b/qt-ui/downloadfromdivecomputer.cpp
index f3cd45c71..ba079e6dd 100644
--- a/qt-ui/downloadfromdivecomputer.cpp
+++ b/qt-ui/downloadfromdivecomputer.cpp
@@ -37,6 +37,7 @@ namespace DownloadFromDcGlobal{
DownloadFromDCWidget *DownloadFromDCWidget::instance()
{
static DownloadFromDCWidget *dialog = new DownloadFromDCWidget();
+ dialog->setAttribute(Qt::WA_QuitOnClose, false);
return dialog;
}
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 66bebc6c7..90b2406cb 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -298,6 +298,7 @@ void MainWindow::on_actionYearlyStatistics_triggered()
view->setModel(model);
view->setWindowModality(Qt::NonModal);
view->setMinimumWidth(600);
+ view->setAttribute(Qt::WA_QuitOnClose, false);
view->show();
}
diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp
index 9a2eff8f1..19fa169e4 100644
--- a/qt-ui/preferences.cpp
+++ b/qt-ui/preferences.cpp
@@ -6,6 +6,7 @@
PreferencesDialog* PreferencesDialog::instance()
{
static PreferencesDialog *dialog = new PreferencesDialog();
+ dialog->setAttribute(Qt::WA_QuitOnClose, false);
return dialog;
}
diff --git a/qt-ui/subsurfacewebservices.cpp b/qt-ui/subsurfacewebservices.cpp
index cd944ca17..76e730be6 100644
--- a/qt-ui/subsurfacewebservices.cpp
+++ b/qt-ui/subsurfacewebservices.cpp
@@ -19,6 +19,7 @@ static gboolean merge_locations_into_dives(void);
SubsurfaceWebServices* SubsurfaceWebServices::instance()
{
static SubsurfaceWebServices *self = new SubsurfaceWebServices();
+ self->setAttribute(Qt::WA_QuitOnClose, false);
return self;
}