Browse Source

Fix: DynamicImage and DynamicSvgImage should properly finalize when images are null

Marcin Ziąbek 1 year ago
parent
commit
7b458213e2

+ 4 - 3
Source/QuestPDF/Elements/DynamicImage.cs

@@ -1,4 +1,5 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
 using System.Linq;
 using QuestPDF.Drawing;
 using QuestPDF.Helpers;
@@ -36,7 +37,7 @@ namespace QuestPDF.Elements
         ~DynamicImage()
         {
             foreach (var cacheItem in Cache)
-                cacheItem.Image.Dispose();
+                cacheItem.Image?.Dispose();
         }
         
         public void ResetState(bool hardReset = false)
@@ -64,7 +65,7 @@ namespace QuestPDF.Elements
                 targetImage = GetImage(availableSpace);
                 Cache.Add((availableSpace, targetImage));
             }
-        
+       
             if (targetImage != null)
                 Canvas.DrawImage(targetImage, availableSpace);
             

+ 1 - 1
Source/QuestPDF/Elements/DynamicSvgImage.cs

@@ -19,7 +19,7 @@ internal class DynamicSvgImage : Element, IStateResettable
     ~DynamicSvgImage()
     {
         foreach (var cacheItem in Cache)
-            cacheItem.Image.Dispose();
+            cacheItem.Image?.Dispose();
     }
     
     public void ResetState(bool hardReset = false)