diff --git a/reactos/win32ss/user/win32csr/exitros.c b/reactos/win32ss/user/win32csr/exitros.c index e8ac3f24098..0b92f35c41a 100644 --- a/reactos/win32ss/user/win32csr/exitros.c +++ b/reactos/win32ss/user/win32csr/exitros.c @@ -61,6 +61,7 @@ typedef struct tagNOTIFY_CONTEXT WPARAM wParam; LPARAM lParam; HDESK Desktop; + HDESK OldDesktop; DWORD StartTime; DWORD QueryResult; HWND Dlg; @@ -412,8 +413,13 @@ NotifyDesktopEnum(LPWSTR DesktopName, LPARAM lParam) return FALSE; } + Context->OldDesktop = GetThreadDesktop(GetCurrentThreadId()); + SwitchDesktop(Context->Desktop); + EnumDesktopWindows(Context->Desktop, NotifyTopLevelEnum, lParam); + SwitchDesktop(Context->OldDesktop); + CloseDesktop(Context->Desktop); return QUERY_RESULT_CONTINUE == Context->QueryResult;