aboutsummaryrefslogtreecommitdiff
path: root/src/gui/kconfiggui.cpp
diff options
context:
space:
mode:
authorNate Graham <nate@kde.org>2019-11-08 09:20:22 -0700
committerNate Graham <nate@kde.org>2019-11-26 07:58:57 -0700
commit23d4f14601fd8ff5ca7f28b0ad245ec1935799b2 (patch)
tree6aa0e72a17beeb7c54779045bd9237a3e45fb079 /src/gui/kconfiggui.cpp
parent9b8ef694412c688c9f1e0a6f41b49ac7492ec35a (diff)
downloadkconfig-23d4f14601fd8ff5ca7f28b0ad245ec1935799b2.tar.gz
kconfig-23d4f14601fd8ff5ca7f28b0ad245ec1935799b2.tar.bz2
Only create a session config when actually restoring a session
Summary: This allows manually invoking session restoration logic without creating duplicate configs, in support of D25106 and https://invent.kde.org/kde/okular/merge_requests/58/ Test Plan: Apply either of the above patches and verify that it works Reviewers: #frameworks, davidedmundson Reviewed By: davidedmundson Subscribers: anthonyfieroni, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D25219
Diffstat (limited to 'src/gui/kconfiggui.cpp')
-rw-r--r--src/gui/kconfiggui.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gui/kconfiggui.cpp b/src/gui/kconfiggui.cpp
index f65bba59..7eb4711e 100644
--- a/src/gui/kconfiggui.cpp
+++ b/src/gui/kconfiggui.cpp
@@ -39,7 +39,7 @@ KConfig *KConfigGui::sessionConfig()
#ifdef QT_NO_SESSIONMANAGER
#error QT_NO_SESSIONMANAGER was set, this will not compile. Reconfigure Qt with Session management support.
#endif
- if (!hasSessionConfig()) {
+ if (!hasSessionConfig() && qApp->isSessionRestored()) {
// create the default instance specific config object
// from applications' -session command line parameter
s_sessionConfig = new KConfig(configName(qApp->sessionId(),
@@ -70,6 +70,10 @@ bool KConfigGui::hasSessionConfig()
#if KCONFIGGUI_BUILD_DEPRECATED_SINCE(5, 11)
QString KConfigGui::sessionConfigName()
{
- return sessionConfig()->name();
+ if (sessionConfig()) {
+ return sessionConfig()->name();
+ } else {
+ return QString();
+ }
}
#endif