diff --git a/src/Windows/Avalonia.Win32/WinRT/Composition/WinUICompositorConnection.cs b/src/Windows/Avalonia.Win32/WinRT/Composition/WinUICompositorConnection.cs index 5056899106..dd0a918362 100644 --- a/src/Windows/Avalonia.Win32/WinRT/Composition/WinUICompositorConnection.cs +++ b/src/Windows/Avalonia.Win32/WinRT/Composition/WinUICompositorConnection.cs @@ -6,6 +6,7 @@ using Avalonia.MicroCom; using Avalonia.OpenGL; using Avalonia.OpenGL.Angle; using Avalonia.OpenGL.Egl; +using Avalonia.Rendering; using Avalonia.Win32.Interop; namespace Avalonia.Win32.WinRT.Composition @@ -29,9 +30,9 @@ namespace Avalonia.Win32.WinRT.Composition _angle = (AngleWin32EglDisplay)_gl.Display; _queue = NativeWinRTMethods.CreateDispatcherQueueController(new NativeWinRTMethods.DispatcherQueueOptions { - apartmentType = NativeWinRTMethods.DISPATCHERQUEUE_THREAD_APARTMENTTYPE.DQTAT_COM_NONE, + apartmentType = NativeWinRTMethods.DISPATCHERQUEUE_THREAD_APARTMENTTYPE.DQTAT_COM_STA, dwSize = Marshal.SizeOf(), - threadType = NativeWinRTMethods.DISPATCHERQUEUE_THREAD_TYPE.DQTYPE_THREAD_CURRENT + threadType = NativeWinRTMethods.DISPATCHERQUEUE_THREAD_TYPE.DQTYPE_THREAD_DEDICATED }); _compositor = NativeWinRTMethods.CreateInstance("Windows.UI.Composition.Compositor"); _compositor2 = _compositor.QueryInterface(); @@ -96,7 +97,6 @@ namespace Avalonia.Win32.WinRT.Composition spriteVisual.SetBrush(brush); using var visual = spriteVisual.QueryInterface(); using var visual2 = spriteVisual.QueryInterface(); - //visual2.SetRelativeSizeAdjustment(new Vector2(1, 1)); using var container = _compositor.CreateContainerVisual(); using var containerVisual = container.QueryInterface(); using var containerVisual2 = container.QueryInterface(); @@ -141,7 +141,7 @@ namespace Avalonia.Win32.WinRT.Composition spriteVisual.SetBrush(satBrush); - //visual.SetIsVisible(0); + visual.SetIsVisible(0); visual2.SetRelativeSizeAdjustment(new Vector2(1.0f, 1.0f)); return visual.CloneReference(); diff --git a/src/Windows/Avalonia.Win32/WinRT/Composition/WinUiCompositedWindowSurface.cs b/src/Windows/Avalonia.Win32/WinRT/Composition/WinUiCompositedWindowSurface.cs index 9d80803b91..cc9952c226 100644 --- a/src/Windows/Avalonia.Win32/WinRT/Composition/WinUiCompositedWindowSurface.cs +++ b/src/Windows/Avalonia.Win32/WinRT/Composition/WinUiCompositedWindowSurface.cs @@ -76,9 +76,9 @@ namespace Avalonia.Win32.WinRT.Composition var res = base.BeginDraw(surface, _info, () => { - _window.Item.EndDraw(); - texture?.Dispose(); surface?.Dispose(); + texture?.Dispose(); + _window.Item.EndDraw(); contextLock?.Dispose(); }, true); success = true;