queryWindowInfo: Differenciate between unmannaged and user cancel
Previous fix here didn't take into account the case where use can cancel the query (by pressing Esc).
This commit is contained in:
parent
0faf282694
commit
a89b66a2e1
1 changed files with 6 additions and 1 deletions
|
@ -22,6 +22,7 @@
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
#include "kwinadaptor.h"
|
#include "kwinadaptor.h"
|
||||||
#include "scene.h"
|
#include "scene.h"
|
||||||
|
#include "unmanaged.h"
|
||||||
#include "workspace.h"
|
#include "workspace.h"
|
||||||
#include "virtualdesktops.h"
|
#include "virtualdesktops.h"
|
||||||
#ifdef KWIN_BUILD_ACTIVITIES
|
#ifdef KWIN_BUILD_ACTIVITIES
|
||||||
|
@ -218,10 +219,14 @@ QVariantMap DBusInterface::queryWindowInfo()
|
||||||
[this] (Toplevel *t) {
|
[this] (Toplevel *t) {
|
||||||
if (auto c = qobject_cast<AbstractClient*>(t)) {
|
if (auto c = qobject_cast<AbstractClient*>(t)) {
|
||||||
QDBusConnection::sessionBus().send(m_replyQueryWindowInfo.createReply(clientToVariantMap(c)));
|
QDBusConnection::sessionBus().send(m_replyQueryWindowInfo.createReply(clientToVariantMap(c)));
|
||||||
} else {
|
} else if (qobject_cast<Unmanaged*>(t)) {
|
||||||
QDBusConnection::sessionBus().send(m_replyQueryWindowInfo.createErrorReply(
|
QDBusConnection::sessionBus().send(m_replyQueryWindowInfo.createErrorReply(
|
||||||
QStringLiteral("org.kde.KWin.Error.InvalidWindow"),
|
QStringLiteral("org.kde.KWin.Error.InvalidWindow"),
|
||||||
QStringLiteral("Tried to query information about an unmanaged window")));
|
QStringLiteral("Tried to query information about an unmanaged window")));
|
||||||
|
} else {
|
||||||
|
QDBusConnection::sessionBus().send(m_replyQueryWindowInfo.createErrorReply(
|
||||||
|
QStringLiteral("org.kde.KWin.Error.UserCancel"),
|
||||||
|
QStringLiteral("User cancelled the query")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in a new issue