Skip to content

Commit 22a9149

Browse files
committed
WPF - OnWindowStateChanged only call WasHidden(false) when previous state was Minimized
Store the previous window state and only call IBrowserHost.WasHidden(false) if the browser was previous hidden. Call isn't required when transitioning between Normal and Maximized
1 parent c912277 commit 22a9149

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

CefSharp.Wpf/ChromiumWebBrowser.cs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,12 @@ public class ChromiumWebBrowser : Control, IRenderWebBrowser, IWpfWebBrowser
4343
/// View Rectangle used by <see cref="GetViewRect"/>
4444
/// </summary>
4545
private Rect viewRect;
46-
46+
/// <summary>
47+
/// Store the previous window state, used to determine if the
48+
/// Windows was previous <see cref="WindowState.Minimized"/>
49+
/// and resume rendering
50+
/// </summary>
51+
private WindowState previousWindowState;
4752
/// <summary>
4853
/// The source
4954
/// </summary>
@@ -1756,12 +1761,15 @@ private void OnWindowStateChanged(object sender, EventArgs e)
17561761
case WindowState.Normal:
17571762
case WindowState.Maximized:
17581763
{
1759-
if (browser != null)
1764+
if (previousWindowState == WindowState.Minimized)
17601765
{
1761-
browser.GetHost().WasHidden(false);
1762-
}
1766+
if (browser != null)
1767+
{
1768+
browser.GetHost().WasHidden(false);
1769+
}
17631770

1764-
ResizeHackFor2779();
1771+
ResizeHackFor2779();
1772+
}
17651773

17661774
break;
17671775
}
@@ -1779,6 +1787,8 @@ private void OnWindowStateChanged(object sender, EventArgs e)
17791787
break;
17801788
}
17811789
}
1790+
1791+
previousWindowState = window.WindowState;
17821792
}
17831793

17841794
/// <summary>

0 commit comments

Comments
 (0)