mirror of
https://github.com/reactos/reactos.git
synced 2025-06-10 04:14:53 +00:00
[WINLOGON] Close all dialog boxes on SAS
CORE-13593
This commit is contained in:
parent
e9e14be661
commit
02f3cb5381
3 changed files with 9 additions and 15 deletions
|
@ -1157,9 +1157,7 @@ DispatchSAS(
|
||||||
case STATE_LOGGED_OFF:
|
case STATE_LOGGED_OFF:
|
||||||
Session->LogonState = STATE_LOGGED_OFF_SAS;
|
Session->LogonState = STATE_LOGGED_OFF_SAS;
|
||||||
|
|
||||||
hwnd = GetTopDialogWindow();
|
CloseAllDialogWindows();
|
||||||
if (hwnd != NULL)
|
|
||||||
SendMessage(hwnd, WLX_WM_SAS, 0, 0);
|
|
||||||
|
|
||||||
Session->Options = 0;
|
Session->Options = 0;
|
||||||
|
|
||||||
|
@ -1192,9 +1190,7 @@ DispatchSAS(
|
||||||
case STATE_LOCKED:
|
case STATE_LOCKED:
|
||||||
Session->LogonState = STATE_LOCKED_SAS;
|
Session->LogonState = STATE_LOCKED_SAS;
|
||||||
|
|
||||||
hwnd = GetTopDialogWindow();
|
CloseAllDialogWindows();
|
||||||
if (hwnd != NULL)
|
|
||||||
SendMessage(hwnd, WLX_WM_SAS, 0, 0);
|
|
||||||
|
|
||||||
wlxAction = (DWORD)Session->Gina.Functions.WlxWkstaLockedSAS(Session->Gina.Context, dwSasType);
|
wlxAction = (DWORD)Session->Gina.Functions.WlxWkstaLockedSAS(Session->Gina.Context, dwSasType);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -342,8 +342,8 @@ RemoveStatusMessage(IN PWLSESSION Session);
|
||||||
VOID
|
VOID
|
||||||
InitDialogListHead(VOID);
|
InitDialogListHead(VOID);
|
||||||
|
|
||||||
HWND
|
VOID
|
||||||
GetTopDialogWindow(VOID);
|
CloseAllDialogWindows(VOID);
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
GinaInit(IN OUT PWLSESSION Session);
|
GinaInit(IN OUT PWLSESSION Session);
|
||||||
|
|
|
@ -106,24 +106,22 @@ GetDialogListEntry(HWND hwndDlg)
|
||||||
|
|
||||||
|
|
||||||
HWND
|
HWND
|
||||||
GetTopDialogWindow(VOID)
|
CloseAllDialogWindows(VOID)
|
||||||
{
|
{
|
||||||
PDIALOG_LIST_ENTRY Current;
|
PDIALOG_LIST_ENTRY Current;
|
||||||
PLIST_ENTRY ListEntry;
|
PLIST_ENTRY ListEntry;
|
||||||
|
|
||||||
ListEntry = DialogListHead.Flink;
|
ListEntry = DialogListHead.Flink;
|
||||||
if (ListEntry != &DialogListHead)
|
while (ListEntry != &DialogListHead)
|
||||||
{
|
{
|
||||||
Current = CONTAINING_RECORD(ListEntry,
|
Current = CONTAINING_RECORD(ListEntry,
|
||||||
DIALOG_LIST_ENTRY,
|
DIALOG_LIST_ENTRY,
|
||||||
Entry);
|
Entry);
|
||||||
|
|
||||||
TRACE("Found entry: %p window %p\n", Current, Current->hWnd);
|
PostMessage(Current->hWnd, WLX_WM_SAS, 0, 0);
|
||||||
return Current->hWnd;
|
|
||||||
}
|
|
||||||
|
|
||||||
TRACE("Found no window\n");
|
ListEntry = ListEntry->Flink;
|
||||||
return NULL;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue