Defer main window resize while minimized/maximized

This commit is contained in:
kalimag 2024-08-22 22:59:34 +02:00 committed by James Groom
parent 2e4d2ce232
commit a3bf347e22
2 changed files with 12 additions and 0 deletions

View File

@ -1585,6 +1585,11 @@ namespace BizHawk.Client.EmuHawk
private void MainForm_Resize(object sender, EventArgs e)
{
_presentationPanel.Resized = true;
if (_framebufferResizedPending && WindowState is FormWindowState.Normal)
{
_framebufferResizedPending = false;
FrameBufferResized();
}
}
private void MainForm_Shown(object sender, EventArgs e)

View File

@ -1390,6 +1390,12 @@ namespace BizHawk.Client.EmuHawk
public void FrameBufferResized(bool forceWindowResize = false)
{
if (WindowState is not FormWindowState.Normal)
{
// Wait until no longer maximized/minimized to get correct size/location values
_framebufferResizedPending = true;
return;
}
if (!Config.ResizeWithFramebuffer && !forceWindowResize)
{
return;
@ -1692,6 +1698,7 @@ namespace BizHawk.Client.EmuHawk
private bool _inFullscreen;
private Point _windowedLocation;
private bool _needsFullscreenOnLoad;
private bool _framebufferResizedPending;
private int _lastOpenRomFilter;