https://git.reactos.org/?p=reactos.git;a=commitdiff;h=045333e8904a0eebc8bbf0416df5121e53fc5023

commit 045333e8904a0eebc8bbf0416df5121e53fc5023
Author:     Jose Carlos Jesus <zecarlos1...@hotmail.com>
AuthorDate: Fri Aug 2 15:36:26 2024 +0100
Commit:     GitHub <nore...@github.com>
CommitDate: Fri Aug 2 17:36:26 2024 +0300

    [EXPLORER] Restore windows on second click of Show Desktop button (#7184)
    
    On the second click on "Show desktop" button, the minimized windows
    are not restored, because after the first click, and the addition to
    `CSimpleArray<MINWNDPOS> g_MinimizedAll`, a call to 
`RestoreMinimizedNonTaskWnds()`
    via `HSHELL_WINDOWACTIVATED` message clears the list of minimized windows.
    
    Don't empty `g_MinimizedAll` while processing HSHELL_WINDOWCREATED or
    HSHELL_WINDOWACTIVATED messages (bDestroyed=FALSE).
    
    Empty `g_MinimizedAll` only when SendPulseToTray is called with 
bDestroyed=TRUE.
    
    Addendum to e6bced7a353 and 70d7009ad95. CORE-19703 CORE-15369
---
 base/shell/explorer/traywnd.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/base/shell/explorer/traywnd.cpp b/base/shell/explorer/traywnd.cpp
index a2d49f8010d..868447796fc 100644
--- a/base/shell/explorer/traywnd.cpp
+++ b/base/shell/explorer/traywnd.cpp
@@ -3049,9 +3049,9 @@ HandleTrayContextMenu:
             }
         }
 
-        g_MinimizedAll.RemoveAll();
-
-        if (!bDestroyed)
+        if (bDestroyed)
+            g_MinimizedAll.RemoveAll();
+        else
             ::SetForegroundWindow(hwndActive);
     }
 

Reply via email to