diff --git a/src/modules/keyboardmanager/dll/dllmain.cpp b/src/modules/keyboardmanager/dll/dllmain.cpp index fddb5dd38d..7749a8efd4 100644 --- a/src/modules/keyboardmanager/dll/dllmain.cpp +++ b/src/modules/keyboardmanager/dll/dllmain.cpp @@ -225,14 +225,14 @@ public: if (action_object.get_name() == L"RemapKeyboard") { - if (!CheckEditKeyboardWindowActive()) + if (!CheckEditKeyboardWindowActive() && !CheckEditShortcutsWindowActive()) { std::thread(createEditKeyboardWindow, hInstance, std::ref(keyboardManagerState)).detach(); } } else if (action_object.get_name() == L"EditShortcut") { - if (!CheckEditShortcutsWindowActive()) + if (!CheckEditKeyboardWindowActive() && !CheckEditShortcutsWindowActive()) { std::thread(createEditShortcutsWindow, hInstance, std::ref(keyboardManagerState)).detach(); } diff --git a/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp b/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp index d5a89db5ba..7b6d832d18 100644 --- a/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp +++ b/src/modules/keyboardmanager/ui/EditKeyboardWindow.cpp @@ -350,7 +350,7 @@ LRESULT CALLBACK EditKeyboardWindowProc(HWND hWnd, UINT messageCode, WPARAM wPar { return xamlBridgePtr->MessageHandler(messageCode, wParam, lParam); } - else if (messageCode == WM_DESTROY) + else if (messageCode == WM_NCDESTROY) { PostQuitMessage(0); break; diff --git a/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp b/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp index bf91f6565b..1fec45f6bc 100644 --- a/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp +++ b/src/modules/keyboardmanager/ui/EditShortcutsWindow.cpp @@ -274,7 +274,7 @@ LRESULT CALLBACK EditShortcutsWindowProc(HWND hWnd, UINT messageCode, WPARAM wPa { return xamlBridgePtr->MessageHandler(messageCode, wParam, lParam); } - else if (messageCode == WM_DESTROY) + else if (messageCode == WM_NCDESTROY) { PostQuitMessage(0); break; diff --git a/src/modules/keyboardmanager/ui/XamlBridge.cpp b/src/modules/keyboardmanager/ui/XamlBridge.cpp index 9350e2cc6a..33800bc3b3 100644 --- a/src/modules/keyboardmanager/ui/XamlBridge.cpp +++ b/src/modules/keyboardmanager/ui/XamlBridge.cpp @@ -289,7 +289,7 @@ LRESULT XamlBridge::MessageHandler(UINT const message, WPARAM const wParam, LPAR { switch (message) { - HANDLE_MSG(parentWindow, WM_DESTROY, OnDestroy); + HANDLE_MSG(parentWindow, WM_NCDESTROY, OnDestroy); HANDLE_MSG(parentWindow, WM_ACTIVATE, OnActivate); HANDLE_MSG(parentWindow, WM_SETFOCUS, OnSetFocus); }