Browse Source

Fixes

pull/5012/head
Nikita Tsukanov 6 years ago
parent
commit
41e5133624
  1. 8
      src/Windows/Avalonia.Win32/WinRT/Composition/WinUICompositorConnection.cs
  2. 4
      src/Windows/Avalonia.Win32/WinRT/Composition/WinUiCompositedWindowSurface.cs

8
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<NativeWinRTMethods.DispatcherQueueOptions>(),
threadType = NativeWinRTMethods.DISPATCHERQUEUE_THREAD_TYPE.DQTYPE_THREAD_CURRENT
threadType = NativeWinRTMethods.DISPATCHERQUEUE_THREAD_TYPE.DQTYPE_THREAD_DEDICATED
});
_compositor = NativeWinRTMethods.CreateInstance<ICompositor>("Windows.UI.Composition.Compositor");
_compositor2 = _compositor.QueryInterface<ICompositor2>();
@ -96,7 +97,6 @@ namespace Avalonia.Win32.WinRT.Composition
spriteVisual.SetBrush(brush);
using var visual = spriteVisual.QueryInterface<IVisual>();
using var visual2 = spriteVisual.QueryInterface<IVisual2>();
//visual2.SetRelativeSizeAdjustment(new Vector2(1, 1));
using var container = _compositor.CreateContainerVisual();
using var containerVisual = container.QueryInterface<IVisual>();
using var containerVisual2 = container.QueryInterface<IVisual2>();
@ -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();

4
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;

Loading…
Cancel
Save