From 132190c3a206f1a7682f9972c94a83584ff3c6a4 Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Wed, 18 Sep 2013 12:53:07 +0200 Subject: Build X11 session management only if dependencies are found This fixes the build breakage caused by Change I50b33d05 when attempting to compile on Linux with session management enabled but libSM and/or libICE not present. Change-Id: I127f32e7041deb2ff968eae8458fee7d4e95d7a5 Reviewed-by: Samuel Gaist Reviewed-by: Bernd Weimer Reviewed-by: aavit --- src/plugins/platforms/xcb/qxcbintegration.cpp | 2 +- src/plugins/platforms/xcb/qxcbintegration.h | 2 +- src/plugins/platforms/xcb/xcb-plugin.pro | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src/plugins/platforms/xcb') diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp index e10c556473..cef81ddfec 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.cpp +++ b/src/plugins/platforms/xcb/qxcbintegration.cpp @@ -443,7 +443,7 @@ QByteArray QXcbIntegration::wmClass() const return m_wmClass; } -#ifndef QT_NO_SESSIONMANAGER +#if !defined(QT_NO_SESSIONMANAGER) && defined(XCB_USE_SM) QPlatformSessionManager *QXcbIntegration::createPlatformSessionManager(const QString &id, const QString &key) const { return new QXcbSessionManager(id, key); diff --git a/src/plugins/platforms/xcb/qxcbintegration.h b/src/plugins/platforms/xcb/qxcbintegration.h index 7fd5756fd5..7ca7befc64 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.h +++ b/src/plugins/platforms/xcb/qxcbintegration.h @@ -101,7 +101,7 @@ public: QByteArray wmClass() const; -#ifndef QT_NO_SESSIONMANAGER +#if !defined(QT_NO_SESSIONMANAGER) && defined(XCB_USE_SM) QPlatformSessionManager *createPlatformSessionManager(const QString &id, const QString &key) const Q_DECL_OVERRIDE; #endif diff --git a/src/plugins/platforms/xcb/xcb-plugin.pro b/src/plugins/platforms/xcb/xcb-plugin.pro index 341c33e8e6..4f69ca8aab 100644 --- a/src/plugins/platforms/xcb/xcb-plugin.pro +++ b/src/plugins/platforms/xcb/xcb-plugin.pro @@ -74,6 +74,7 @@ contains(QT_CONFIG, xcb-render) { # build with session management support contains(QT_CONFIG, xcb-sm) { + DEFINES += XCB_USE_SM LIBS += -lSM -lICE SOURCES += qxcbsessionmanager.cpp HEADERS += qxcbsessionmanager.h -- cgit v1.2.3