diff --git a/build/Unsafe.props b/build/Unsafe.props deleted file mode 100644 index db96658bdd..0000000000 --- a/build/Unsafe.props +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/packages.cake b/packages.cake index 3c2f76205c..bc290fce22 100644 --- a/packages.cake +++ b/packages.cake @@ -120,7 +120,6 @@ public class Packages var SharpDXDirect3D11Version = packageVersions["SharpDX.Direct3D11"].FirstOrDefault().Item1; var SharpDXDirect3D9Version = packageVersions["SharpDX.Direct3D9"].FirstOrDefault().Item1; var SharpDXDXGIVersion = packageVersions["SharpDX.DXGI"].FirstOrDefault().Item1; - var UnsafeVersion = packageVersions["System.Runtime.CompilerServices.Unsafe"].FirstOrDefault().Item1; context.Information("Package: Serilog, version: {0}", SerilogVersion); context.Information("Package: Sprache, version: {0}", SpracheVersion); @@ -395,8 +394,7 @@ public class Packages new NuSpecDependency() { Id = "SharpDX", Version = SharpDXVersion }, new NuSpecDependency() { Id = "SharpDX.Direct2D1", Version = SharpDXDirect2D1Version }, new NuSpecDependency() { Id = "SharpDX.Direct3D11", Version = SharpDXDirect3D11Version }, - new NuSpecDependency() { Id = "SharpDX.DXGI", Version = SharpDXDXGIVersion }, - new NuSpecDependency() { Id = "System.Runtime.CompilerServices.Unsafe", Version = UnsafeVersion } + new NuSpecDependency() { Id = "SharpDX.DXGI", Version = SharpDXDXGIVersion } }, Files = new [] { diff --git a/src/Android/Avalonia.Android/Resources/Resource.Designer.cs b/src/Android/Avalonia.Android/Resources/Resource.Designer.cs index e66c2800d3..80cbbc51ec 100644 --- a/src/Android/Avalonia.Android/Resources/Resource.Designer.cs +++ b/src/Android/Avalonia.Android/Resources/Resource.Designer.cs @@ -40,14 +40,11 @@ namespace Avalonia.Android public partial class String { - // aapt resource value: 0x7f020002 - public static int ApplicationName = 2130837506; - // aapt resource value: 0x7f020001 - public static int Hello = 2130837505; + public static int ApplicationName = 2130837505; // aapt resource value: 0x7f020000 - public static int library_name = 2130837504; + public static int Hello = 2130837504; static String() { diff --git a/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj b/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj index 2b9ce5466b..a84c373886 100644 --- a/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj +++ b/src/Windows/Avalonia.Direct2D1/Avalonia.Direct2D1.csproj @@ -2,7 +2,6 @@ netstandard2.0 false - true @@ -26,5 +25,4 @@ - \ No newline at end of file diff --git a/src/Windows/Avalonia.Direct2D1/FramebufferShimRenderTarget.cs b/src/Windows/Avalonia.Direct2D1/FramebufferShimRenderTarget.cs index dbba7271e2..523cfeed46 100644 --- a/src/Windows/Avalonia.Direct2D1/FramebufferShimRenderTarget.cs +++ b/src/Windows/Avalonia.Direct2D1/FramebufferShimRenderTarget.cs @@ -68,13 +68,10 @@ namespace Avalonia.Direct2D1 { for (var y = 0; y < _target.Height; y++) { - unsafe - { - Unsafe.CopyBlock( - (void*)(_target.Address + _target.RowBytes * y), - (void*)(l.Data.DataPointer + l.Stride * y), - (uint)Math.Min(l.Stride, _target.RowBytes)); - } + UnmanagedMethods.CopyMemory( + (_target.Address + _target.RowBytes * y), + (l.Data.DataPointer + l.Stride * y), + (UIntPtr)Math.Min(l.Stride, _target.RowBytes)); } } Dispose(); diff --git a/src/Windows/Avalonia.Direct2D1/Media/Imaging/WicBitmapImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/Imaging/WicBitmapImpl.cs index 540810f13c..371dfcfc3e 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/Imaging/WicBitmapImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/Imaging/WicBitmapImpl.cs @@ -75,13 +75,10 @@ namespace Avalonia.Direct2D1.Media { for (var row = 0; row < height; row++) { - unsafe - { - Unsafe.CopyBlock( - (void*)(l.Data.DataPointer + row * l.Stride), - (void*)(data + row * stride), - (uint) l.Data.Pitch); - } + UnmanagedMethods.CopyMemory( + (l.Data.DataPointer + row * l.Stride), + (data + row * stride), + (UIntPtr) l.Data.Pitch); } } } diff --git a/src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs b/src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs index bc81010377..a0518cf92e 100644 --- a/src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs +++ b/src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs @@ -947,6 +947,9 @@ namespace Avalonia.Win32.Interop uint dwMaximumSizeHigh, uint dwMaximumSizeLow, string lpName); + + [DllImport("msvcrt.dll", EntryPoint="memcpy", SetLastError = false, CallingConvention=CallingConvention.Cdecl)] + public static extern IntPtr CopyMemory(IntPtr dest, IntPtr src, UIntPtr count); public enum MONITOR {