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);