From 7cbdd55960b36b967f2b62c6bacdcde8807c88fd Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Fri, 11 Feb 2022 13:41:37 +0100 Subject: 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 --- src/gui/kconfiggui.cpp | 6 ++++-- src/gui/kconfiggui.h | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'src') 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 @@ -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 -- cgit v1.2.1