Browse Source
Use ShowWindowCommand.Hide when positioning a win32 window that has not yet been shown (#15035)
pull/15079/head
Tom Edwards
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
4 additions and
1 deletions
-
src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs
-
src/Windows/Avalonia.Win32/WindowImpl.cs
|
|
@ -618,6 +618,9 @@ namespace Avalonia.Win32 |
|
|
SizeCommand.Maximized => WindowState.Maximized, |
|
|
SizeCommand.Maximized => WindowState.Maximized, |
|
|
SizeCommand.Minimized => WindowState.Minimized, |
|
|
SizeCommand.Minimized => WindowState.Minimized, |
|
|
_ when _isFullScreenActive => WindowState.FullScreen, |
|
|
_ when _isFullScreenActive => WindowState.FullScreen, |
|
|
|
|
|
// Ignore state changes for unshown windows. We always tell Windows that we are hidden
|
|
|
|
|
|
// until shown, so the OS value should be ignored while we are in the unshown state.
|
|
|
|
|
|
_ when !_shown => _lastWindowState, |
|
|
_ => WindowState.Normal, |
|
|
_ => WindowState.Normal, |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
@ -607,7 +607,7 @@ namespace Avalonia.Win32 |
|
|
|
|
|
|
|
|
windowPlacement.NormalPosition = requestedWindowRect; |
|
|
windowPlacement.NormalPosition = requestedWindowRect; |
|
|
|
|
|
|
|
|
windowPlacement.ShowCmd = _lastWindowState switch |
|
|
windowPlacement.ShowCmd = !_shown ? ShowWindowCommand.Hide : _lastWindowState switch |
|
|
{ |
|
|
{ |
|
|
WindowState.Minimized => ShowWindowCommand.ShowMinNoActive, |
|
|
WindowState.Minimized => ShowWindowCommand.ShowMinNoActive, |
|
|
WindowState.Maximized => ShowWindowCommand.ShowMaximized, |
|
|
WindowState.Maximized => ShowWindowCommand.ShowMaximized, |
|
|
|