Browse Source

Fix PeekPixels memory leak

Equbuxu 1 year ago
parent
commit
c86ec75ddb

+ 5 - 0
src/PixiEditor.DrawingApi.Core/Surface/Pixmap.cs

@@ -9,6 +9,11 @@ public class Pixmap : NativeObject
     internal Pixmap(IntPtr objPtr) : base(objPtr)
     {
     }
+
+    public static Pixmap InternalCreateFromExistingPointer(IntPtr objPointer)
+    {
+        return new Pixmap(objPointer);
+    }
     
     public Pixmap(ImageInfo imgInfo, IntPtr dataPtr) : base(dataPtr)
     {

+ 1 - 1
src/PixiEditor.DrawingApi.Skia/Implementations/SkiaPixmapImplementation.cs

@@ -57,7 +57,7 @@ namespace PixiEditor.DrawingApi.Skia.Implementations
         public Pixmap CreateFrom(SKPixmap pixmap)
         {
             ManagedInstances[pixmap.Handle] = pixmap;
-            return new Pixmap(pixmap.Info.ToImageInfo(colorSpaceImplementation), pixmap.GetPixels());
+            return Pixmap.InternalCreateFromExistingPointer(pixmap.Handle);
         }
     }
 }