[SHELL32] CMenuDeskBar: Prevent destruction of the start menu when receiving a WM_CLO...
authorMark Jansen <mark.jansen@reactos.org>
Sat, 3 Jun 2017 15:35:21 +0000 (15:35 +0000)
committerMark Jansen <mark.jansen@reactos.org>
Sat, 3 Jun 2017 15:35:21 +0000 (15:35 +0000)
svn path=/trunk/; revision=74764

reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.cpp
reactos/dll/win32/shell32/shellmenu/CMenuDeskBar.h

index 1995343..9b63fed 100644 (file)
@@ -839,6 +839,12 @@ LRESULT CMenuDeskBar::_OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &
     return 0;
 }
 
     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;
 HRESULT CMenuDeskBar::_AdjustForTheme(BOOL bFlatStyle)
 {
     DWORD style = bFlatStyle ? WS_BORDER : WS_CLIPCHILDREN|WS_DLGFRAME;
index 544e715..0e3e078 100644 (file)
@@ -74,6 +74,7 @@ public:
         MESSAGE_HANDLER(WM_MOUSEACTIVATE, _OnMouseActivate)
         MESSAGE_HANDLER(WM_WININICHANGE , _OnWinIniChange)
         MESSAGE_HANDLER(WM_NCPAINT, _OnNcPaint)
         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)
     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 _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);
 
     HRESULT _AdjustForTheme(BOOL bFlatStyle);
     BOOL _IsSubMenuParent(HWND hwnd);