summaryrefslogtreecommitdiff
path: root/src/devices/VirtualKeyboard.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2024-05-04 12:35:56 +0100
committerVaxry <vaxry@vaxry.net>2024-05-04 12:36:02 +0100
commit25964e5a2b633aed191915efa0de0489bf94dbb9 (patch)
tree8447bf1f5c2c2c2dcd57a35378f7d4749a94636d /src/devices/VirtualKeyboard.cpp
parent2d40046f24c051767dc541bef3ffb8366901d898 (diff)
hid: don't access expired resources in virtual devices
fixes #5868
Diffstat (limited to 'src/devices/VirtualKeyboard.cpp')
-rw-r--r--src/devices/VirtualKeyboard.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/devices/VirtualKeyboard.cpp b/src/devices/VirtualKeyboard.cpp
index ca6156b7..fa91ae9f 100644
--- a/src/devices/VirtualKeyboard.cpp
+++ b/src/devices/VirtualKeyboard.cpp
@@ -55,6 +55,8 @@ bool CVirtualKeyboard::isVirtual() {
}
wlr_keyboard* CVirtualKeyboard::wlr() {
+ if (keyboard.expired())
+ return nullptr;
return keyboard.lock()->wlr();
}
@@ -67,5 +69,7 @@ void CVirtualKeyboard::disconnectCallbacks() {
}
wl_client* CVirtualKeyboard::getClient() {
+ if (keyboard.expired())
+ return nullptr;
return keyboard.lock()->client();
}