diff --git a/effects/startupfeedback/startupfeedback.cpp b/effects/startupfeedback/startupfeedback.cpp index a948a5f33f..14b5f1300a 100644 --- a/effects/startupfeedback/startupfeedback.cpp +++ b/effects/startupfeedback/startupfeedback.cpp @@ -31,6 +31,7 @@ along with this program. If not, see . #include #include #include +#include // KWin #include @@ -73,7 +74,7 @@ static const int s_startupDefaultTimeout = 5; StartupFeedbackEffect::StartupFeedbackEffect() : m_bounceSizesRatio(1.0) , m_startupInfo(new KStartupInfo(KStartupInfo::CleanOnCantDetect, this)) - , m_selection(new KSelectionOwner("_KDE_STARTUP_FEEDBACK", xcbConnection(), x11RootWindow(), this)) + , m_selection(nullptr) , m_active(false) , m_frame(0) , m_progress(0) @@ -85,7 +86,10 @@ StartupFeedbackEffect::StartupFeedbackEffect() for (int i = 0; i < 5; ++i) { m_bouncingTextures[i] = 0; } - m_selection->claim(true); + if (KWindowSystem::isPlatformX11()) { + m_selection = new KSelectionOwner("_KDE_STARTUP_FEEDBACK", xcbConnection(), x11RootWindow(), this); + m_selection->claim(true); + } connect(m_startupInfo, SIGNAL(gotNewStartup(KStartupInfoId,KStartupInfoData)), SLOT(gotNewStartup(KStartupInfoId,KStartupInfoData))); connect(m_startupInfo, SIGNAL(gotRemoveStartup(KStartupInfoId,KStartupInfoData)), SLOT(gotRemoveStartup(KStartupInfoId,KStartupInfoData))); connect(m_startupInfo, SIGNAL(gotStartupChange(KStartupInfoId,KStartupInfoData)), SLOT(gotStartupChange(KStartupInfoId,KStartupInfoData)));