diff --git a/src/Splat.Drawing/Platforms/net4/Bitmaps/PlatformBitmapLoader.cs b/src/Splat.Drawing/Platforms/net4/Bitmaps/PlatformBitmapLoader.cs index 88dbdd51a..5070cf3c4 100644 --- a/src/Splat.Drawing/Platforms/net4/Bitmaps/PlatformBitmapLoader.cs +++ b/src/Splat.Drawing/Platforms/net4/Bitmaps/PlatformBitmapLoader.cs @@ -79,7 +79,11 @@ private static void WithInit(BitmapImage source, Action block) source.BeginInit(); block(source); source.EndInit(); - source.Freeze(); + + if (source.CanFreeze) + { + source.Freeze(); + } } } } diff --git a/src/Splat.Drawing/Platforms/net5/Bitmaps/PlatformBitmapLoader.cs b/src/Splat.Drawing/Platforms/net5/Bitmaps/PlatformBitmapLoader.cs index 0e301a4c8..00372b59e 100644 --- a/src/Splat.Drawing/Platforms/net5/Bitmaps/PlatformBitmapLoader.cs +++ b/src/Splat.Drawing/Platforms/net5/Bitmaps/PlatformBitmapLoader.cs @@ -86,7 +86,11 @@ private static void WithInit(BitmapImage source, Action block) source.BeginInit(); block(source); source.EndInit(); - source.Freeze(); + + if (source.CanFreeze) + { + source.Freeze(); + } } } } diff --git a/src/Splat.Drawing/Platforms/netcoreapp3/Bitmaps/PlatformBitmapLoader.cs b/src/Splat.Drawing/Platforms/netcoreapp3/Bitmaps/PlatformBitmapLoader.cs index 0e301a4c8..00372b59e 100644 --- a/src/Splat.Drawing/Platforms/netcoreapp3/Bitmaps/PlatformBitmapLoader.cs +++ b/src/Splat.Drawing/Platforms/netcoreapp3/Bitmaps/PlatformBitmapLoader.cs @@ -86,7 +86,11 @@ private static void WithInit(BitmapImage source, Action block) source.BeginInit(); block(source); source.EndInit(); - source.Freeze(); + + if (source.CanFreeze) + { + source.Freeze(); + } } } }