summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vdagent/vdagent.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/vdagent/vdagent.cpp b/vdagent/vdagent.cpp
index c25a077..6cb889f 100644
--- a/vdagent/vdagent.cpp
+++ b/vdagent/vdagent.cpp
@@ -423,6 +423,7 @@ void VDAgent::input_desktop_message_loop()
}
if (!SetThreadDesktop(hdesk)) {
vd_printf("SetThreadDesktop failed %lu", GetLastError());
+ CloseDesktop(hdesk);
_running = false;
return;
}
@@ -431,6 +432,7 @@ void VDAgent::input_desktop_message_loop()
} else {
vd_printf("GetUserObjectInformation failed %lu", GetLastError());
}
+ CloseDesktop(hdesk);
// loading the display settings for the current session's logged on user only
// after 1) we receive logon event, and 2) the desktop switched from Winlogon
@@ -479,7 +481,6 @@ void VDAgent::input_desktop_message_loop()
}
WTSUnRegisterSessionNotification(_hwnd);
DestroyWindow(_hwnd);
- CloseDesktop(hdesk);
}
void VDAgent::event_dispatcher(DWORD timeout, DWORD wake_mask)