From 7d49819b5ecb4cb69d3db405a658ba44c17fc8e6 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Fri, 3 May 2024 00:54:32 +0100 Subject: virtual-keyboard: destroy on vdestroy event --- src/managers/input/InputManager.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/managers/input/InputManager.cpp') diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 7b851d88..e3c1b463 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -816,6 +816,9 @@ void CInputManager::newVirtualKeyboard(SP keyboard) { }, PNEWKEYBOARD, "VKeyboard"); + // TODO: this pointer pass sucks. + PNEWKEYBOARD->listeners.destroyVKeyboard = keyboard->events.destroy.registerListener([this, PNEWKEYBOARD](std::any data) { destroyKeyboard(PNEWKEYBOARD); }); + disableAllKeyboards(true); m_pActiveKeyboard = PNEWKEYBOARD; -- cgit v1.2.3