diff --git a/effects/screenshot/screenshot.cpp b/effects/screenshot/screenshot.cpp --- a/effects/screenshot/screenshot.cpp +++ b/effects/screenshot/screenshot.cpp @@ -50,6 +50,8 @@ const static QString s_errorInvalidAreaMsg = QStringLiteral("Invalid area requested"); const static QString s_errorInvalidScreen = QStringLiteral("org.kde.kwin.Screenshot.Error.InvalidScreen"); const static QString s_errorInvalidScreenMsg = QStringLiteral("Invalid screen requested"); +const static QString s_errorUnsupported = QStringLiteral("org.kde.kwin.Screenshot.Error.Unsupported"); +const static QString s_errorUnsupportedMsg = QStringLiteral("Screenshot mode unsupported on Wayland"); bool ScreenShotEffect::supported() { @@ -480,6 +482,10 @@ if (!calledFromDBus()) { return QString(); } + if (effects->waylandDisplay()) { + sendErrorReply(s_errorUnsupported, s_errorUnsupportedMsg); + return QString(); + } if (isTakingScreenshot()) { sendErrorReply(s_errorAlreadyTaking, s_errorAlreadyTakingMsg); return QString(); @@ -529,6 +535,10 @@ if (!calledFromDBus()) { return QString(); } + if (effects->waylandDisplay()) { + sendErrorReply(s_errorUnsupported, s_errorUnsupportedMsg); + return QString(); + } if (isTakingScreenshot()) { sendErrorReply(s_errorAlreadyTaking, s_errorAlreadyTakingMsg); return QString(); @@ -587,6 +597,10 @@ if (!calledFromDBus()) { return QString(); } + if (effects->waylandDisplay()) { + sendErrorReply(s_errorUnsupported, s_errorUnsupportedMsg); + return QString(); + } if (isTakingScreenshot()) { sendErrorReply(s_errorAlreadyTaking, s_errorAlreadyTakingMsg); return QString();