aboutsummaryrefslogtreecommitdiff
path: root/src/webengine
diff options
context:
space:
mode:
Diffstat (limited to 'src/webengine')
-rw-r--r--src/webengine/webengineprofile.cpp10
-rw-r--r--src/webengine/webengineprofile.h2
2 files changed, 7 insertions, 5 deletions
diff --git a/src/webengine/webengineprofile.cpp b/src/webengine/webengineprofile.cpp
index 814d38c..89cc301 100644
--- a/src/webengine/webengineprofile.cpp
+++ b/src/webengine/webengineprofile.cpp
@@ -27,8 +27,6 @@ WebEngineProfile::WebEngineProfile(QObject *parent) :
QWebEngineProfile(parent)
{
// Off-the-record constructor
-
- m_profileDialog = new ProfileDialog(this);
}
WebEngineProfile::WebEngineProfile(const QString &storageName, QObject *parent) :
@@ -37,8 +35,6 @@ WebEngineProfile::WebEngineProfile(const QString &storageName, QObject *parent)
setPersistentStoragePath(sSettings->value("browser.profile.path").toString() + storageName);
setCachePath(sSettings->value("browser.profile.path").toString() + storageName);
- m_profileDialog = new ProfileDialog(this);
-
QString profilePath = persistentStoragePath() + "/profile.ini";
qDebug("Reading profile from [%s]", qUtf8Printable(profilePath));
QSettings config(profilePath, QSettings::IniFormat);
@@ -110,10 +106,16 @@ WebEngineProfile::~WebEngineProfile()
if(!isOffTheRecord()) {
saveProfile();
}
+ if(m_profileDialog != nullptr) {
+ m_profileDialog->deleteLater();
+ }
}
ProfileDialog *WebEngineProfile::dialog()
{
+ if(m_profileDialog == nullptr) {
+ m_profileDialog = new ProfileDialog(this);
+ }
return m_profileDialog;
}
diff --git a/src/webengine/webengineprofile.h b/src/webengine/webengineprofile.h
index dfdd0f8..4b36940 100644
--- a/src/webengine/webengineprofile.h
+++ b/src/webengine/webengineprofile.h
@@ -41,7 +41,7 @@ public slots:
void saveProfile();
private:
- ProfileDialog *m_profileDialog;
+ ProfileDialog *m_profileDialog = nullptr;
};
#endif // WEBENGINEPROFILE_H