summaryrefslogtreecommitdiffstats
path: root/tests/auto/client/client/mockinput.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/client/client/mockinput.cpp')
-rw-r--r--tests/auto/client/client/mockinput.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/client/client/mockinput.cpp b/tests/auto/client/client/mockinput.cpp
index fe06bf79b..99acdd43a 100644
--- a/tests/auto/client/client/mockinput.cpp
+++ b/tests/auto/client/client/mockinput.cpp
@@ -267,6 +267,14 @@ void Keyboard::setFocus(Surface *surface)
m_focus = surface;
}
+void Keyboard::handleSurfaceDestroyed(Surface *surface)
+{
+ if (surface == m_focus) {
+ m_focusResource = nullptr;
+ m_focus = nullptr;
+ }
+}
+
void Keyboard::sendKey(uint32_t key, uint32_t state)
{
if (m_focusResource) {
@@ -314,6 +322,14 @@ void Pointer::setFocus(Surface *surface, const QPoint &pos)
m_focus = surface;
}
+void Pointer::handleSurfaceDestroyed(Surface *surface)
+{
+ if (m_focus == surface) {
+ m_focus = nullptr;
+ m_focusResource = nullptr;
+ }
+}
+
void Pointer::sendMotion(const QPoint &pos)
{
if (m_focusResource)