Browse Source

prevent restoring window styles from overwriting windowstates.

pull/3849/head
Dan Walmsley 6 years ago
parent
commit
0608ad6008
  1. 10
      src/Windows/Avalonia.Win32/WindowImpl.cs

10
src/Windows/Avalonia.Win32/WindowImpl.cs

@ -586,7 +586,8 @@ namespace Avalonia.Win32
// repainted. Better-looking methods welcome.
_isFullScreenActive = false;
SetStyle(_savedWindowInfo.Style, false);
var windowStates = GetWindowStateStyles();
SetStyle((_savedWindowInfo.Style & ~WindowStateMask) | windowStates, false);
SetExtendedStyle(_savedWindowInfo.ExStyle, false);
// On restore, resize to the previous saved rect size.
@ -668,6 +669,13 @@ namespace Avalonia.Win32
}
}
private const WindowStyles WindowStateMask = (WindowStyles.WS_MAXIMIZE | WindowStyles.WS_MINIMIZE);
private WindowStyles GetWindowStateStyles ()
{
return GetStyle() & WindowStateMask;
}
private WindowStyles GetStyle()
{
if (_isFullScreenActive)

Loading…
Cancel
Save