diff --git a/Ninjacrab.PersistentWindows.Solution/Common/HotKeyWindow.cs b/Ninjacrab.PersistentWindows.Solution/Common/HotKeyWindow.cs index a6d68d0..78788d0 100644 --- a/Ninjacrab.PersistentWindows.Solution/Common/HotKeyWindow.cs +++ b/Ninjacrab.PersistentWindows.Solution/Common/HotKeyWindow.cs @@ -30,6 +30,7 @@ namespace PersistentWindows.Common private bool active = false; private static bool tiny = false; private static bool browserWindowActivated = false; + private static bool restoring = false; private int origWidth; private int origHeight; private int mouseOffset = 0; //mouse dithering to workaround mouse location mis-update issue in rdp session @@ -635,9 +636,10 @@ namespace PersistentWindows.Common } - public static void BrowserActivate(IntPtr hwnd, bool is_browser_window = true) + public static void BrowserActivate(IntPtr hwnd, bool is_browser_window = true, bool in_restore = false) { browserWindowActivated = is_browser_window; + restoring = in_restore; if (!tiny && !User32.IsWindowVisible(commanderWnd)) return; @@ -822,12 +824,17 @@ namespace PersistentWindows.Common IntPtr fgwnd = GetForegroundWindow(); if (!PersistentWindowProcessor.IsBrowserWindow(fgwnd)) { - if (browserWindowActivated) + if (browserWindowActivated || restoring) StartAliveTimer(6, 1000); else Visible = false; return; } + else if (restoring) + { + StartAliveTimer(6, 1000); + return; + } RECT rect = new RECT(); User32.GetWindowRect(fgwnd, ref rect); diff --git a/Ninjacrab.PersistentWindows.Solution/Common/PersistentWindowProcessor.cs b/Ninjacrab.PersistentWindows.Solution/Common/PersistentWindowProcessor.cs index 75f4e5d..9b5d406 100644 --- a/Ninjacrab.PersistentWindows.Solution/Common/PersistentWindowProcessor.cs +++ b/Ninjacrab.PersistentWindows.Solution/Common/PersistentWindowProcessor.cs @@ -1321,7 +1321,7 @@ namespace PersistentWindows.Common { IntPtr topHwnd = User32.GetAncestor(hwnd, User32.GetAncestorRoot); if (hwnd == topHwnd) - HotKeyWindow.BrowserActivate(topHwnd); + HotKeyWindow.BrowserActivate(topHwnd, in_restore : restoringFromMem); } else HotKeyWindow.BrowserActivate(hwnd, false);