https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8c4bd09518b9a98b885932acddc8c337d0bbe421

commit 8c4bd09518b9a98b885932acddc8c337d0bbe421
Author:     Charles Ambrye <[email protected]>
AuthorDate: Sun Apr 19 19:52:52 2020 -0700
Commit:     Giannis Adamopoulos <[email protected]>
CommitDate: Mon Apr 20 23:13:09 2020 +0300

    [SHELL32] Fix a bug that caused Auto Arrange to always be highlighted in 
the file explorer
    
    This occurred in the file explorer because the menu isn't destroyed and 
recreated each time, so the menu item, once checked, will stay checked forever. 
 We must call CheckMenuItem with MF_UNCHECKED to clear the check when necessary
---
 dll/win32/shell32/CDefView.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/dll/win32/shell32/CDefView.cpp b/dll/win32/shell32/CDefView.cpp
index 4f9b409fd9e..08fbd594b14 100644
--- a/dll/win32/shell32/CDefView.cpp
+++ b/dll/win32/shell32/CDefView.cpp
@@ -1324,6 +1324,8 @@ HRESULT CDefView::FillArrangeAsMenu(HMENU hmenuArrange)
 
         if (GetAutoArrange() == S_OK)
             CheckMenuItem(hmenuArrange, FCIDM_SHVIEW_AUTOARRANGE, MF_CHECKED);
+        else
+            CheckMenuItem(hmenuArrange, FCIDM_SHVIEW_AUTOARRANGE, 
MF_UNCHECKED);
 
         if (_GetSnapToGrid() == S_OK)
             CheckMenuItem(hmenuArrange, FCIDM_SHVIEW_ALIGNTOGRID, MF_CHECKED);

Reply via email to