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 | |
| 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>
| -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 | 
