diff options
author | Kai Uwe Broulik <kai_uwe.broulik@mbition.io> | 2022-02-11 13:41:37 +0100 |
---|---|---|
committer | Kai Uwe Broulik <kde@privat.broulik.de> | 2022-02-14 07:52:04 +0000 |
commit | 7cbdd55960b36b967f2b62c6bacdcde8807c88fd (patch) | |
tree | fce4d21ee93482dab101d3e5cc1120e45a01dd7d /src/gui | |
parent | a19011fce0012a27a22cba2de1d65baeabbfbf29 (diff) | |
download | kconfig-7cbdd55960b36b967f2b62c6bacdcde8807c88fd.tar.gz kconfig-7cbdd55960b36b967f2b62c6bacdcde8807c88fd.tar.bz2 |
Support build without Qt session manager
Rather than abort the build, don't create a session config
and print a warning.
Signed-off-by: Eike Hein <eike.hein@mbition.io>
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/kconfiggui.cpp | 6 | ||||
-rw-r--r-- | src/gui/kconfiggui.h | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/gui/kconfiggui.cpp b/src/gui/kconfiggui.cpp index cafe061d..f8132f9e 100644 --- a/src/gui/kconfiggui.cpp +++ b/src/gui/kconfiggui.cpp @@ -6,6 +6,7 @@ */ #include "kconfiggui.h" +#include "kconfig_gui_log_settings.h" #include <QGuiApplication> @@ -21,13 +22,14 @@ static KConfig *s_sessionConfig = nullptr; KConfig *KConfigGui::sessionConfig() { #ifdef QT_NO_SESSIONMANAGER -#error QT_NO_SESSIONMANAGER was set, this will not compile. Reconfigure Qt with Session management support. -#endif + qCWarning(KCONFIG_GUI_LOG) << "Qt is built without session manager support"; +#else if (!hasSessionConfig() && qApp->isSessionRestored()) { // create the default instance specific config object // from applications' -session command line parameter s_sessionConfig = new KConfig(configName(qApp->sessionId(), qApp->sessionKey()), KConfig::SimpleConfig); } +#endif return s_sessionConfig; } diff --git a/src/gui/kconfiggui.h b/src/gui/kconfiggui.h index 8f4b739a..33082d83 100644 --- a/src/gui/kconfiggui.h +++ b/src/gui/kconfiggui.h @@ -22,6 +22,10 @@ namespace KConfigGui /** * Returns the current application session config object. * + * @note If Qt is built without session manager support, + * this by default will return nullptr, unless a custom config + * has been set via @c setSessionConfig. + * * @return A pointer to the application's instance specific * KConfig object. * @see KConfig |