From db15cdc590f3c328014a2b84f6230382760be4c5 Mon Sep 17 00:00:00 2001 From: Tom Edwards <109803929+TomEdwardsEnscape@users.noreply.github.com> Date: Sat, 30 Mar 2024 20:31:34 +0100 Subject: [PATCH] Set WindowImpl._shown in response to window messages (#15177) --- src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs | 4 ++++ src/Windows/Avalonia.Win32/WindowImpl.cs | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs b/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs index e22e3aa51a..76970dd57b 100644 --- a/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs +++ b/src/Windows/Avalonia.Win32/WindowImpl.AppWndProc.cs @@ -609,6 +609,10 @@ namespace Avalonia.Win32 _resizeReason = WindowResizeReason.User; break; + case WindowsMessage.WM_SHOWWINDOW: + _shown = wParam != default; + break; + case WindowsMessage.WM_SIZE: { var size = (SizeCommand)wParam; diff --git a/src/Windows/Avalonia.Win32/WindowImpl.cs b/src/Windows/Avalonia.Win32/WindowImpl.cs index 7a022d1c0d..e34a64a267 100644 --- a/src/Windows/Avalonia.Win32/WindowImpl.cs +++ b/src/Windows/Avalonia.Win32/WindowImpl.cs @@ -682,7 +682,6 @@ namespace Avalonia.Win32 public void Hide() { UnmanagedMethods.ShowWindow(_hwnd, ShowWindowCommand.Hide); - _shown = false; } public virtual void Show(bool activate, bool isDialog) @@ -1160,8 +1159,6 @@ namespace Avalonia.Win32 private void ShowWindow(WindowState state, bool activate) { - _shown = true; - if (_isClientAreaExtended) { ExtendClientArea();