Skip to content

Commit ded5caa

Browse files
emmaussgrokys
authored andcommitted
Win32 - set internal _shown flag if ShowWindow will make window visible (#16029)
* win32- set internal _shown flag if ShowWindow will make window visible * check window visibility state from WM_WINDOWPOSCHANGED message
1 parent 2ba4551 commit ded5caa

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

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

+11
Original file line numberDiff line numberDiff line change
@@ -773,6 +773,17 @@ protected virtual unsafe IntPtr AppWndProc(IntPtr hWnd, uint msg, IntPtr wParam,
773773
return UiaCoreProviderApi.UiaReturnRawElementProvider(_hwnd, wParam, lParam, node);
774774
}
775775
break;
776+
case WindowsMessage.WM_WINDOWPOSCHANGED:
777+
var winPos = Marshal.PtrToStructure<WINDOWPOS>(lParam);
778+
if((winPos.flags & (uint)SetWindowPosFlags.SWP_SHOWWINDOW) != 0)
779+
{
780+
_shown = true;
781+
}
782+
else if ((winPos.flags & (uint)SetWindowPosFlags.SWP_HIDEWINDOW) != 0)
783+
{
784+
_shown = false;
785+
}
786+
break;
776787
}
777788

778789
#if USE_MANAGED_DRAG

0 commit comments

Comments
 (0)