From 44616bacfb0920bf0f7b6740565d6904510e1474 Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Sat, 3 Jun 2017 15:35:21 +0000 Subject: [PATCH] [SHELL32] CMenuDeskBar: Prevent destruction of the start menu when receiving a WM_CLOSE message. CORE-12028 svn path=/trunk/; revision=74764 --- reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.cpp | 6 ++++++ reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.cpp b/reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.cpp index 199534345c9..9b63fed9dbb 100644 --- a/reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.cpp +++ b/reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.cpp @@ -839,6 +839,12 @@ LRESULT CMenuDeskBar::_OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & return 0; } +LRESULT CMenuDeskBar::_OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled) +{ + /* Prevent the CMenuDeskBar from destroying on being sent a WM_CLOSE */ + return 0; +} + HRESULT CMenuDeskBar::_AdjustForTheme(BOOL bFlatStyle) { DWORD style = bFlatStyle ? WS_BORDER : WS_CLIPCHILDREN|WS_DLGFRAME; diff --git a/reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.h b/reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.h index 544e71524b0..0e3e07859a5 100644 --- a/reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.h +++ b/reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.h @@ -74,6 +74,7 @@ public: MESSAGE_HANDLER(WM_MOUSEACTIVATE, _OnMouseActivate) MESSAGE_HANDLER(WM_WININICHANGE , _OnWinIniChange) MESSAGE_HANDLER(WM_NCPAINT, _OnNcPaint) + MESSAGE_HANDLER(WM_CLOSE, _OnClose) END_MSG_MAP() BEGIN_COM_MAP(CMenuDeskBar) @@ -142,6 +143,7 @@ private: LRESULT _OnAppActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); LRESULT _OnWinIniChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); LRESULT _OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); + LRESULT _OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); HRESULT _AdjustForTheme(BOOL bFlatStyle); BOOL _IsSubMenuParent(HWND hwnd);