[WINLOGON]
[reactos.git] / reactos / base / system / winlogon / screensaver.c
index 402d840..a613928 100644 (file)
@@ -177,13 +177,14 @@ ScreenSaverThreadMain(
     }
 
 cleanup:
-    RevertToSelf();
     if (Session->hUserActivity)
         CloseHandle(Session->hUserActivity);
 
     if (Session->hEndOfScreenSaver)
         CloseHandle(Session->hEndOfScreenSaver);
 
+    RevertToSelf();
+
 #ifndef USE_GETLASTINPUTINFO
     if (Session->KeyboardHook)
         UnhookWindowsHookEx(Session->KeyboardHook);
@@ -194,6 +195,7 @@ cleanup:
 
     CloseHandle(Session->hEndOfScreenSaverThread);
     CloseHandle(Session->hScreenSaverParametersChanged);
+
     return 0;
 }
 
@@ -368,13 +370,14 @@ StartScreenSaver(
     CallNotificationDlls(Session, StopScreenSaverHandler);
 
 cleanup:
-    RevertToSelf();
     if (hKey)
         RegCloseKey(hKey);
 
     if (hCurrentUser)
         RegCloseKey(hCurrentUser);
 
+    RevertToSelf();
+
     if (!ret)
     {
         PostMessageW(Session->SASWindow, WLX_WM_SAS, WLX_SAS_TYPE_SCRNSVR_ACTIVITY, 0);