From fad20ba4c7a8a6e54db62dadfeabfa184d40ba55 Mon Sep 17 00:00:00 2001 From: ge0rdi Date: Sun, 18 Dec 2022 22:13:37 +0100 Subject: [PATCH] Activate start menu window only after search focus was set Start menu window was activated early in the process of its creation. This means it was receiving input before focus was set to search bar. And that may have lead to unwanted use of keyboard accelerators. We need to make sure that window is activated (receives input) only once focus was set to search box. Fixes #1068 --- Src/StartMenu/StartMenuDLL/MenuContainer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Src/StartMenu/StartMenuDLL/MenuContainer.cpp b/Src/StartMenu/StartMenuDLL/MenuContainer.cpp index 5377a61..dbfd3dd 100644 --- a/Src/StartMenu/StartMenuDLL/MenuContainer.cpp +++ b/Src/StartMenu/StartMenuDLL/MenuContainer.cpp @@ -8237,7 +8237,7 @@ HWND CMenuContainer::ToggleStartMenu( int taskbarId, bool bKeyboard, bool bAllPr s_UserPicture.Init(pStartMenu); } dummyRc.right++; - pStartMenu->SetWindowPos(NULL,&dummyRc,SWP_NOZORDER); + pStartMenu->SetWindowPos(NULL,&dummyRc,SWP_NOZORDER|SWP_NOACTIVATE); memset(&s_StartRect,0,sizeof(s_StartRect)); @@ -8566,7 +8566,7 @@ HWND CMenuContainer::ToggleStartMenu( int taskbarId, bool bKeyboard, bool bAllPr // reposition start menu if (bTopMost || !s_bBehindTaskbar) animFlags|=AW_TOPMOST; - pStartMenu->SetWindowPos((animFlags&AW_TOPMOST)?HWND_TOPMOST:HWND_TOP,corner.x,corner.y,0,0,(initialMonitor!=s_MenuMonitor && !bAllPrograms)?SWP_NOMOVE|SWP_NOSIZE:0); + pStartMenu->SetWindowPos((animFlags&AW_TOPMOST)?HWND_TOPMOST:HWND_TOP,corner.x,corner.y,0,0,((initialMonitor!=s_MenuMonitor && !bAllPrograms)?SWP_NOMOVE|SWP_NOSIZE:0)|SWP_NOACTIVATE); pStartMenu->InitItems(); pStartMenu->m_MaxWidth=s_MainMenuLimits.right-s_MainMenuLimits.left;