Jump to content

Crash when accessing the BitmapEffect selection data in OnCreateConfigForm


Recommended Posts

I discovered this while working on PSFilterPdn. The previous code which used the EffectConfigForm's Environment property in OnShown worked fine.

In the debugger I can see that both the RenderScans and MaskBitmap properties will throw an InvalidOperationException.

The exception thrown when accessing MaskBitmap is below.

 

Spoiler
Full error message: System.InvalidOperationException: Nullable object must have a value.
   at PaintDotNet.Effects.EffectSelectionInfo.get_MaskBitmap() in D:\src\pdn\src\Effects.Core\Effects\EffectSelectionInfo.cs:line 196
   at PSFilterLoad.PSApi.SelectionMaskRenderer.FromPdnSelection(IBitmapEffectEnvironment environment) in D:\Dev_projects\PSFilterPdn\src\PSApi\SelectionMaskRenderer.cs:line 33
   at PSFilterPdn.PsFilterPdnConfigDialog..ctor(IBitmapEffectEnvironment bitmapEffectEnvironment) in D:\Dev_projects\PSFilterPdn\src\PsFilterPdnConfigDialog.cs:line 145
   at PSFilterPdn.PSFilterPdnEffect.OnCreateConfigForm() in D:\Dev_projects\PSFilterPdn\src\PSFilterPdn.cs:line 68
   at PaintDotNet.Effects.EffectBase.PaintDotNet.Effects.IEffect.CreateConfigForm() in D:\src\pdn\src\Effects.Core\Effects\EffectBase.cs:line 363
   at PaintDotNet.Menus.EffectMenuBase.RunEffectImpl(EffectInfo effectInfo) in D:\src\pdn\src\PaintDotNet\Menus\EffectMenuBase.cs:line 959

Diagnostics:

Application                                          paint.net 5.0.9 (Stable 5.9.8621.1636)
Build Date                                           Wednesday, August 9, 2023
Install type                                         Classic

Language:                                            en-US
DPI                                                  96 (1.00x scale)
UI/Canvas GPU                                        True
Rendering GPU                                        ūüöÄ Performance (AMD Radeon RX 6650 XT)
Remote session                                       False
Animations                                           True
Translucent windows                                  True
Windows Ink                                          True

OS                                                   Windows 10 Pro x64 (10.0.19045.0)
Runtime                                              .NET 7.0.10 x64

Physical Memory                                      32,709 MB (10,011 MB free)
Virtual Memory                                       133,947,562 MB free
Paging File                                          65,477 MB (32,480 MB free)

CPU                                                  Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
    Speed                                            ~3998 MHz
    Cores / Threads                                  4 / 8
    Features                                         SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2

Video Card                                           AMD Radeon RX 6650 XT
    Hardware Acceleration                            Supported
    Dedicated Video RAM                              8,147 MB
    Dedicated System RAM                             0 MB
    Shared System RAM                                16,354 MB
    Vendor ID                                        0x1002
    Device ID                                        0x73EF
    Subsystem ID                                     0x52361849
    Revision                                         193
    LUID                                             0x0000D456
    Flags                                            AcgCompatible, SupportMonitoredFences, KeyedMutexConformance
    Graphics Preemption                              PrimitiveBoundary
    Compute Preemption                               DmaBufferBoundary
    Outputs                                          2
    Feature Level                                    Level_12_1
    Features                                         Doubles, ComputeShadersEtc
    DXGI Formats                                     A8_UNorm, B8G8R8A8_UNorm, R16G16B16A16_UNorm, R16G16B16A16_Float, R32G32B32A32_Float
    Buffer Precisions                                UInt8Normalized, UInt8NormalizedSrgb, UInt16Normalized, Float16, Float32
    Maximum Bitmap Size                              16384

Video Card                                           Microsoft Basic Render Driver
    Hardware Acceleration                            N/A
    Dedicated Video RAM                              0 MB
    Dedicated System RAM                             0 MB
    Shared System RAM                                16,354 MB
    Vendor ID                                        0x1414
    Device ID                                        0x008C
    Subsystem ID                                     0x00000000
    Revision                                         0
    LUID                                             0x0000E3E0
    Flags                                            Software, AcgCompatible, SupportMonitoredFences, KeyedMutexConformance
    Graphics Preemption                              InstructionBoundary
    Compute Preemption                               InstructionBoundary
    Outputs                                          0
    Feature Level                                    Level_12_1
    Features                                         Doubles, ComputeShadersEtc
    DXGI Formats                                     A8_UNorm, B8G8R8A8_UNorm, R16G16B16A16_UNorm, R16G16B16A16_Float, R32G32B32A32_Float
    Buffer Precisions                                UInt8Normalized, UInt8NormalizedSrgb, UInt16Normalized, Float16, Float32
    Maximum Bitmap Size                              8388608

Managed assemblies                                   165
    System.Private.CoreLib                           .\System.Private.CoreLib.dll, Version=7.0.0.0, PublicKeyToken=7cec85d7bea7798e
    paintdotnet                                      .\paintdotnet.dll, Version=5.9.8621.1636
    System.Runtime                                   .\System.Runtime.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Windows.Forms                             .\System.Windows.Forms.dll, Version=7.0.0.0, PublicKeyToken=b77a5c561934e089
    PaintDotNet.Fundamentals                         .\PaintDotNet.Fundamentals.dll, Version=5.9.8621.1636
    PaintDotNet.ComponentModel                       .\PaintDotNet.ComponentModel.dll, Version=5.9.8621.1636
    System.Diagnostics.Tracing                       .\System.Diagnostics.Tracing.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Threading.Thread                          .\System.Threading.Thread.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Base                                 .\PaintDotNet.Base.dll, Version=5.9.8621.1636
    PaintDotNet.Collections                          .\PaintDotNet.Collections.dll, Version=5.9.8621.1636
    PaintDotNet.Windows                              .\PaintDotNet.Windows.dll, Version=5.9.8621.1636
    TerraFX.Interop.Windows                          .\TerraFX.Interop.Windows.dll, Version=10.0.22621.2, PublicKeyToken=35b01b53313a6f7e
    PaintDotNet.Primitives                           .\PaintDotNet.Primitives.dll, Version=5.9.8621.1636
    System.Collections.Concurrent                    .\System.Collections.Concurrent.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Runtime                              .\PaintDotNet.Runtime.dll, Version=5.9.8621.1636
    PointerToolkit                                   .\PointerToolkit.dll, Version=1.0.0.0
    System.Threading                                 .\System.Threading.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.SystemLayer                          .\PaintDotNet.SystemLayer.dll, Version=5.9.8621.1636
    System.Diagnostics.Process                       .\System.Diagnostics.Process.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Systrace                             .\PaintDotNet.Systrace.dll, Version=5.9.8621.1636
    System.Private.Uri                               .\System.Private.Uri.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.ComponentModel.Primitives                 .\System.ComponentModel.Primitives.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Windows.Forms.Primitives                  .\System.Windows.Forms.Primitives.dll, Version=7.0.0.0, PublicKeyToken=b77a5c561934e089
    System.Runtime.InteropServices                   .\System.Runtime.InteropServices.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Drawing.Primitives                        .\System.Drawing.Primitives.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    WindowsBase                                      .\WindowsBase.dll, Version=7.0.0.0, PublicKeyToken=31bf3856ad364e35
    System.Collections                               .\System.Collections.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Linq                                      .\System.Linq.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PresentationFramework                            .\PresentationFramework.dll, Version=7.0.0.0, PublicKeyToken=31bf3856ad364e35
    PaintDotNet.Core                                 .\PaintDotNet.Core.dll, Version=5.9.8621.1636
    PaintDotNet.Resources                            .\PaintDotNet.Resources.dll, Version=5.9.8621.1636
    PaintDotNet.Windows.Core                         .\PaintDotNet.Windows.Core.dll, Version=5.9.8621.1636
    System.Xaml                                      .\System.Xaml.dll, Version=7.0.0.0, PublicKeyToken=b77a5c561934e089
    System.ComponentModel                            .\System.ComponentModel.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.ObjectModel                          .\PaintDotNet.ObjectModel.dll, Version=5.9.8621.1636
    System.Diagnostics.TraceSource                   .\System.Diagnostics.TraceSource.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Text.Encoding.CodePages                   .\System.Text.Encoding.CodePages.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.ObjectModel                               .\System.ObjectModel.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    Microsoft.Win32.Primitives                       .\Microsoft.Win32.Primitives.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Data                                 .\PaintDotNet.Data.dll, Version=5.9.8621.1636
    PaintDotNet.Framework                            .\PaintDotNet.Framework.dll, Version=5.9.8621.1636
    CommunityToolkit.HighPerformance                 .\CommunityToolkit.HighPerformance.dll, Version=8.2.0.0, PublicKeyToken=4aff67a105548ee2
    System.Collections.Specialized                   .\System.Collections.Specialized.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Threading.ThreadPool                      .\System.Threading.ThreadPool.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Windows.Framework                    .\PaintDotNet.Windows.Framework.dll, Version=5.9.8621.1636
    PaintDotNet.UI                                   .\PaintDotNet.UI.dll, Version=5.9.8621.1636
    System.Configuration.ConfigurationManager        .\System.Configuration.ConfigurationManager.dll, Version=7.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Xml.ReaderWriter                          .\System.Xml.ReaderWriter.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Private.Xml                               .\System.Private.Xml.dll, Version=7.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Net.WebClient                             .\System.Net.WebClient.dll, Version=7.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.ComponentModel.EventBasedAsync            .\System.ComponentModel.EventBasedAsync.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Drawing.Common                            .\System.Drawing.Common.dll, Version=7.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Memory                                    .\System.Memory.dll, Version=7.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    Microsoft.Win32.SystemEvents                     .\Microsoft.Win32.SystemEvents.dll, Version=7.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Text.Encoding.Extensions                  .\System.Text.Encoding.Extensions.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Collections.Immutable                     .\System.Collections.Immutable.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    Microsoft.Win32.Registry                         .\Microsoft.Win32.Registry.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Diagnostics.FileVersionInfo               .\System.Diagnostics.FileVersionInfo.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PointerToolkit.TerraFX.Interop.Windows           .\PointerToolkit.TerraFX.Interop.Windows.dll, Version=10.0.22621.2
    ComputeSharp.D2D1                                .\ComputeSharp.D2D1.dll, Version=2.0.3.0
    System.Security.Principal.Windows                .\System.Security.Principal.Windows.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Security.Claims                           .\System.Security.Claims.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Net.Primitives                            .\System.Net.Primitives.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.ComponentModel.TypeConverter              .\System.ComponentModel.TypeConverter.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PresentationCore                                 .\PresentationCore.dll, Version=7.0.0.0, PublicKeyToken=31bf3856ad364e35
    PaintDotNet.PropertySystem                       .\PaintDotNet.PropertySystem.dll, Version=5.9.8621.1636
    DirectWriteForwarder                             .\DirectWriteForwarder.dll, Version=7.0.0.0, PublicKeyToken=31bf3856ad364e35
    System.Runtime.Extensions                        .\System.Runtime.Extensions.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Diagnostics.Debug                         .\System.Diagnostics.Debug.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Runtime.CompilerServices.VisualC          .\System.Runtime.CompilerServices.VisualC.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Collections.NonGeneric                    .\System.Collections.NonGeneric.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.IO.Packaging                              .\System.IO.Packaging.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Effects.Core                         .\PaintDotNet.Effects.Core.dll, Version=5.9.8621.1636
    Accessibility                                    .\Accessibility.dll, Version=4.0.0.0, PublicKeyToken=31bf3856ad364e35
    UIAutomationTypes                                .\UIAutomationTypes.dll, Version=7.0.0.0, PublicKeyToken=31bf3856ad364e35
    System.Numerics.Vectors                          .\System.Numerics.Vectors.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PresentationFramework-SystemXml                  .\PresentationFramework-SystemXml.dll, Version=7.0.0.0, PublicKeyToken=b77a5c561934e089
    System.Threading.Tasks.Parallel                  .\System.Threading.Tasks.Parallel.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Reflection.Metadata                       .\System.Reflection.Metadata.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.IO.MemoryMappedFiles                      .\System.IO.MemoryMappedFiles.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    Mono.Cecil                                       .\Mono.Cecil.dll, Version=0.11.5.0, PublicKeyToken=50cebf1cceb9d05e
    System.Runtime.Loader                            .\System.Runtime.Loader.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Effects.Gpu                          .\PaintDotNet.Effects.Gpu.dll, Version=5.9.8621.1636
    System.Reflection.MetadataLoadContext            .\System.Reflection.MetadataLoadContext.dll, Version=7.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    PaintDotNet.Effects                              .\PaintDotNet.Effects.dll, Version=5.9.8621.1636
    System.Console                                   .\System.Console.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    MyScript                                         .\FileTypes\MyScript.dll, Version=0.0.7306.29100
    HeicFileTypePlus                                 .\FileTypes\HeicFileTypePlus.dll, Version=1.0.7.0
    PaintShopProFiletype                             .\FileTypes\PaintShopProFiletype.dll, Version=1.0.3.0
    ABRFileType                                      .\FileTypes\ABRFileType.dll, Version=1.3.7.0
    KritaFileType                                    .\FileTypes\KritaFileType.dll, Version=1.0.0.0
    OptimizedJPEG                                    .\FileTypes\OptimizedJPEG.dll, Version=1.0.2.0
    Paint.NET BMPX File Type                         .\FileTypes\BMP32 Paint.NET FileType.dll, Version=2.4.0.0
    MozJpegFileType                                  .\FileTypes\MozJpegFileType.dll, Version=1.0.1.0
    OptiPngFileType                                  .\FileTypes\OptiPngFileType.dll, Version=8.11.30.0
    Base64FileType                                   .\FileTypes\Base64FileType.dll, Version=1.0.0.9
    PatternFileType                                  .\FileTypes\PatternFileType.dll, Version=1.0.7.0
    IcoCur                                           .\FileTypes\IcoCur.dll, Version=4.0.1.0
    ImAGIF.FileType                                  .\FileTypes\ImAGIF.FileType.dll, Version=0.13.0.40659
    JpegXLFileType                                   .\FileTypes\JpegXLFileType.dll, Version=1.0.4.0
    PDNJPEGXRPlugin                                  .\FileTypes\PDNJPEGXRPlugin.dll, Version=1.0.1.0
    TileImageFileType                                .\FileTypes\TileImageFileType.dll, Version=1.1.0.0
    PsxTimFileType                                   .\FileTypes\PsxTimFileType.dll, Version=0.3.0.0
    PhotoShop                                        .\FileTypes\PhotoShop.dll, Version=2.5.0.40665
    RawFileType                                      .\FileTypes\RawFileType.dll, Version=1.3.5.0
    System.Runtime.Serialization.Formatters          .\System.Runtime.Serialization.Formatters.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Text.RegularExpressions                   .\System.Text.RegularExpressions.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Windows.Forms.Legacy                      .\System.Windows.Forms.Legacy.dll, Version=1.0.0.0
    PaintDotNet.Plugins.Compatibility                .\PaintDotNet.Plugins.Compatibility.dll, Version=5.9.8621.1636
    System.Runtime.Intrinsics                        .\System.Runtime.Intrinsics.dll, Version=7.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    PhotoSauce.MagicScaler                           .\PhotoSauce.MagicScaler.dll, Version=0.13.2.0, PublicKeyToken=fc6b9b7b06809481
    mscorlib                                         .\mscorlib.dll, Version=4.0.0.0, PublicKeyToken=b77a5c561934e089
    System                                           .\System.dll, Version=4.0.0.0, PublicKeyToken=b77a5c561934e089
    System.Drawing                                   .\System.Drawing.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Runtime.Serialization.Primitives          .\System.Runtime.Serialization.Primitives.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    DdsFileTypePlus                                  .\Bundled\DDSFileTypePlus\DdsFileTypePlus.dll, Version=1.12.2.0
    AvifFileType                                     .\FileTypes\AvifFileType.dll, Version=1.1.26.0
    WebPFileType                                     .\Bundled\WebPFileType\WebPFileType.dll, Version=1.3.19.0
    netstandard                                      .\netstandard.dll, Version=2.1.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    PaintDotNet.Effects.Legacy                       .\PaintDotNet.Effects.Legacy.dll, Version=5.9.8621.1636
    AA's_Assistant                                   .\Effects\AA's_Assistant.dll, Version=1.1.4329.33034
    ApplyMask                                        .\Effects\ApplyMask.dll, Version=6.0.8407.21905
    BoldBrush                                        .\Effects\BoldBrush.dll, Version=1.0.8367.20266
    ClipboardPasteEffect                             .\Effects\ClipboardPasteEffect.dll, Version=1.0.0.0
    Channel Gradient                                 .\Effects\Channel Gradient.dll, Version=0.0.0.0
    ContentAwareFill                                 .\Effects\ContentAwareFill.dll, Version=1.5.1.0
    CodeLab                                          .\Effects\CodeLab.dll, Version=5.3.7419.37464
    Gmic                                             .\Effects\Gmic.dll, Version=3.3.0.0
    GmicSharpPdnExample                              .\Effects\GmicSharpPdnExample.dll, Version=0.2.0.0
    TOON                                             .\Effects\TOON.dll, Version=1.0.7446.7819
    GridCheckerboard                                 .\Effects\GridCheckerboard.dll, Version=3.0.5297.18928
    Grid Warp                                        .\Effects\Grid Warp.dll, Version=4.0.5873.25124
    GrimColorReaper                                  .\Effects\GrimColorReaper.dll, Version=1.2.4299.5808
    ThatOtherAppPlus                                 .\Effects\ThatOtherAppPlus.dll, Version=1.0.0.0
    Kuwahara                                         .\Effects\Kuwahara.dll, Version=1.0.0.0
    ThatOtherApp                                     .\Effects\ThatOtherApp.dll, Version=2.2.0.0
    MathLaTex                                        .\Effects\MathLaTex.dll, Version=1.0.0.30763
    PasteAlpha                                       .\Effects\PasteAlpha.dll, Version=5.2.8174.40450
    System.CodeDom                                   .\System.CodeDom.dll, Version=7.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    PdnFF                                            .\Effects\PdnFF.dll, Version=1.0.5.1
    System.Core                                      .\System.Core.dll, Version=4.0.0.0, PublicKeyToken=b77a5c561934e089
    MessagePack                                      .\Effects\PSFilterPdn\MessagePack.dll, Version=2.5.0.0, PublicKeyToken=b4a0369545f0a1be
    PSFilterPdn                                      .\Effects\PSFilterPdn\PSFilterPdn.dll, Version=2.0.2.0
    SaveForWebRIOT                                   .\Effects\SaveForWebRIOT.dll, Version=1.0.8.0
    SeamCarving                                      .\Effects\SeamCarving.dll, Version=1.0.5808.32821
    TerraFX.Interop.Windows                          .\Effects\PSFilterPdn\TerraFX.Interop.Windows.dll, Version=10.0.22621.2, PublicKeyToken=35b01b53313a6f7e
    Smudge                                           .\Effects\Smudge.dll, Version=4.1.8581.29577
    SoftProofing                                     .\Effects\SoftProofing.dll, Version=1.1.0.1
    System.Xml                                       .\System.Xml.dll, Version=4.0.0.0, PublicKeyToken=b77a5c561934e089
    EdHarvey.Effects                                 .\Effects\EdHarvey.Effects.dll, Version=4.0.5120.42730
    System.Design                                    .\System.Design.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Windows.Forms.Design                      .\System.Windows.Forms.Design.dll, Version=7.0.0.0, PublicKeyToken=b77a5c561934e089
    SBCommon                                         .\Effects\SBCommon.dll, Version=3.0.0.0
    BrushFactory                                     .\Effects\BrushFactory.dll, Version=1.7.0.5295
    System.Runtime.Serialization.Xml                 .\System.Runtime.Serialization.Xml.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Private.DataContractSerialization         .\System.Private.DataContractSerialization.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Xml.XmlSerializer                         .\System.Xml.XmlSerializer.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Reflection.Emit.ILGeneration              .\System.Reflection.Emit.ILGeneration.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Reflection.Emit.Lightweight               .\System.Reflection.Emit.Lightweight.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Reflection.Primitives                     .\System.Reflection.Primitives.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    CommunityToolkit.HighPerformance                 .\Effects\PSFilterPdn\CommunityToolkit.HighPerformance.dll, Version=8.2.0.0, PublicKeyToken=4aff67a105548ee2
    System.IO.Compression                            .\System.IO.Compression.dll, Version=7.0.0.0, PublicKeyToken=b77a5c561934e089
    K4os.Compression.LZ4                             .\K4os.Compression.LZ4.dll, Version=1.2.16.0, PublicKeyToken=2186fa9121ef231d
    ComputeSharp.Core                                .\ComputeSharp.Core.dll, Version=2.0.3.0
    System.Diagnostics.StackTrace                    .\System.Diagnostics.StackTrace.dll, Version=7.0.0.0, PublicKeyToken=b03f5f7f11d50a3a

Native modules                                       253
    paintdotnet.exe                                  .\paintdotnet.exe, version=5.9.8621.1636
    ntdll.dll                                        C:\WINDOWS\SYSTEM32\ntdll.dll, version=10.0.19041.2788 (WinBuild.160101.0800)
    KERNEL32.DLL                                     C:\WINDOWS\System32\KERNEL32.DLL, version=10.0.19041.3155 (WinBuild.160101.0800)
    KERNELBASE.dll                                   C:\WINDOWS\System32\KERNELBASE.dll, version=10.0.19041.3155 (WinBuild.160101.0800)
    SHELL32.dll                                      C:\WINDOWS\System32\SHELL32.dll, version=10.0.19041.964 (WinBuild.160101.0800)
    msvcp_win.dll                                    C:\WINDOWS\System32\msvcp_win.dll, version=10.0.19041.789 (WinBuild.160101.0800)
    ucrtbase.dll                                     C:\WINDOWS\System32\ucrtbase.dll, version=10.0.19041.789 (WinBuild.160101.0800)
    USER32.dll                                       C:\WINDOWS\System32\USER32.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    win32u.dll                                       C:\WINDOWS\System32\win32u.dll, version=10.0.19041.3271 (WinBuild.160101.0800)
    GDI32.dll                                        C:\WINDOWS\System32\GDI32.dll, version=10.0.19041.2913 (WinBuild.160101.0800)
    gdi32full.dll                                    C:\WINDOWS\System32\gdi32full.dll, version=10.0.19041.3271 (WinBuild.160101.0800)
    ole32.dll                                        C:\WINDOWS\System32\ole32.dll, version=10.0.19041.1320 (WinBuild.160101.0800)
    RPCRT4.dll                                       C:\WINDOWS\System32\RPCRT4.dll, version=10.0.19041.2788 (WinBuild.160101.0800)
    combase.dll                                      C:\WINDOWS\System32\combase.dll, version=10.0.19041.1320 (WinBuild.160101.0800)
    OLEAUT32.dll                                     C:\WINDOWS\System32\OLEAUT32.dll, version=10.0.19041.3208 (WinBuild.160101.0800)
    SHLWAPI.dll                                      C:\WINDOWS\System32\SHLWAPI.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    msvcrt.dll                                       C:\WINDOWS\System32\msvcrt.dll, version=7.0.19041.546 (WinBuild.160101.0800)
    VCRUNTIME140_1.dll                               .\VCRUNTIME140_1.dll, version=14.38.32919.0
    VCRUNTIME140.dll                                 .\VCRUNTIME140.dll, version=14.38.32919.0
    IMM32.DLL                                        C:\WINDOWS\System32\IMM32.DLL, version=10.0.19041.2673 (WinBuild.160101.0800)
    shcore.dll                                       C:\WINDOWS\System32\shcore.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    hostfxr.dll                                      .\hostfxr.dll, version=7,0,1023,36312 @Commit: a6dbb800a47735bde43187350fd3aff4071c7f9c
    ADVAPI32.dll                                     C:\WINDOWS\System32\ADVAPI32.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    sechost.dll                                      C:\WINDOWS\System32\sechost.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    hostpolicy.dll                                   .\hostpolicy.dll, version=7,0,1023,36312 @Commit: a6dbb800a47735bde43187350fd3aff4071c7f9c
    coreclr.dll                                      .\coreclr.dll, version=7,0,1023,36312 @Commit: a6dbb800a47735bde43187350fd3aff4071c7f9c
    bcryptPrimitives.dll                             C:\WINDOWS\System32\bcryptPrimitives.dll, version=10.0.19041.2486 (WinBuild.160101.0800)
    System.Private.CoreLib.dll                       .\System.Private.CoreLib.dll, version=7.0.1023.36312
    clrjit.dll                                       .\clrjit.dll, version=7,0,1023,36312 @Commit: a6dbb800a47735bde43187350fd3aff4071c7f9c
    kernel.appcore.dll                               C:\WINDOWS\SYSTEM32\kernel.appcore.dll, version=10.0.19041.546 (WinBuild.160101.0800)
    paintdotnet.dll                                  .\paintdotnet.dll, version=5.9.8621.1636
    System.Runtime.dll                               .\System.Runtime.dll, version=7.0.1023.36312
    uxtheme.dll                                      C:\WINDOWS\system32\uxtheme.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    System.Windows.Forms.dll                         .\System.Windows.Forms.dll, version=7.0.1023.36405
    PaintDotNet.Fundamentals.dll                     .\PaintDotNet.Fundamentals.dll, version=5.9.8621.1636
    PaintDotNet.ComponentModel.dll                   .\PaintDotNet.ComponentModel.dll, version=5.9.8621.1636
    System.Diagnostics.Tracing.dll                   .\System.Diagnostics.Tracing.dll, version=7.0.1023.36312
    icu.dll                                          C:\WINDOWS\SYSTEM32\icu.dll, version=64, 2, 0, 0 (WinBuild.160101.0800)
    System.Threading.Thread.dll                      .\System.Threading.Thread.dll, version=7.0.1023.36312
    PaintDotNet.Base.dll                             .\PaintDotNet.Base.dll, version=5.9.8621.1636
    PaintDotNet.Collections.dll                      .\PaintDotNet.Collections.dll, version=5.9.8621.1636
    PaintDotNet.Windows.dll                          .\PaintDotNet.Windows.dll, version=5.9.8621.1636
    TerraFX.Interop.Windows.dll                      .\TerraFX.Interop.Windows.dll, version=10.0.22621.2
    PaintDotNet.Primitives.dll                       .\PaintDotNet.Primitives.dll, version=5.9.8621.1636
    System.Collections.Concurrent.dll                .\System.Collections.Concurrent.dll, version=7.0.1023.36312
    PaintDotNet.Runtime.dll                          .\PaintDotNet.Runtime.dll, version=5.9.8621.1636
    PointerToolkit.dll                               .\PointerToolkit.dll, version=1.0.0.0
    System.Threading.dll                             .\System.Threading.dll, version=7.0.1023.36312
    PaintDotNet.SystemLayer.dll                      .\PaintDotNet.SystemLayer.dll, version=5.9.8621.1636
    System.Diagnostics.Process.dll                   .\System.Diagnostics.Process.dll, version=7.0.1023.36312
    PaintDotNet.Systrace.dll                         .\PaintDotNet.Systrace.dll, version=5.9.8621.1636
    windows.storage.dll                              C:\WINDOWS\SYSTEM32\windows.storage.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    Wldp.dll                                         C:\WINDOWS\SYSTEM32\Wldp.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    System.Private.Uri.dll                           .\System.Private.Uri.dll, version=7.0.1023.36312
    BCrypt.dll                                       C:\WINDOWS\System32\BCrypt.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    System.ComponentModel.Primitives.dll             .\System.ComponentModel.Primitives.dll, version=7.0.1023.36312
    System.Windows.Forms.Primitives.dll              .\System.Windows.Forms.Primitives.dll, version=7.0.1023.36405
    System.Runtime.InteropServices.dll               .\System.Runtime.InteropServices.dll, version=7.0.1023.36312
    System.Drawing.Primitives.dll                    .\System.Drawing.Primitives.dll, version=7.0.1023.36312
    WindowsBase.dll                                  .\WindowsBase.dll, version=7.0.1023.36404
    System.Collections.dll                           .\System.Collections.dll, version=7.0.1023.36312
    System.Linq.dll                                  .\System.Linq.dll, version=7.0.1023.36312
    PresentationFramework.dll                        .\PresentationFramework.dll, version=7.0.1023.36404
    PaintDotNet.Core.dll                             .\PaintDotNet.Core.dll, version=5.9.8621.1636
    PaintDotNet.Resources.dll                        .\PaintDotNet.Resources.dll, version=5.9.8621.1636
    PaintDotNet.Windows.Core.dll                     .\PaintDotNet.Windows.Core.dll, version=5.9.8621.1636
    System.Xaml.dll                                  .\System.Xaml.dll, version=7.0.1023.36404
    System.ComponentModel.dll                        .\System.ComponentModel.dll, version=7.0.1023.36312
    PaintDotNet.ObjectModel.dll                      .\PaintDotNet.ObjectModel.dll, version=5.9.8621.1636
    System.Diagnostics.TraceSource.dll               .\System.Diagnostics.TraceSource.dll, version=7.0.1023.36312
    System.Text.Encoding.CodePages.dll               .\System.Text.Encoding.CodePages.dll, version=7.0.1023.36312
    System.ObjectModel.dll                           .\System.ObjectModel.dll, version=7.0.1023.36312
    Microsoft.Win32.Primitives.dll                   .\Microsoft.Win32.Primitives.dll, version=7.0.1023.36312
    PaintDotNet.Data.dll                             .\PaintDotNet.Data.dll, version=5.9.8621.1636
    PaintDotNet.Framework.dll                        .\PaintDotNet.Framework.dll, version=5.9.8621.1636
    CommunityToolkit.HighPerformance.dll             .\CommunityToolkit.HighPerformance.dll, version=8.2.1.1
    System.Collections.Specialized.dll               .\System.Collections.Specialized.dll, version=7.0.1023.36312
    System.Threading.ThreadPool.dll                  .\System.Threading.ThreadPool.dll, version=7.0.1023.36312
    PaintDotNet.Windows.Framework.dll                .\PaintDotNet.Windows.Framework.dll, version=5.9.8621.1636
    PaintDotNet.UI.dll                               .\PaintDotNet.UI.dll, version=5.9.8621.1636
    PresentationNative_cor3.dll                      .\PresentationNative_cor3.dll, version=7,0,23,36204 @Commit: ad072b5e2d0b7f41adc102d487ef2ec23d4289c8
    System.Configuration.ConfigurationManager.dll    .\System.Configuration.ConfigurationManager.dll, version=7.0.1023.36312
    System.Xml.ReaderWriter.dll                      .\System.Xml.ReaderWriter.dll, version=7.0.1023.36312
    System.Private.Xml.dll                           .\System.Private.Xml.dll, version=7.0.1023.36312
    System.Net.WebClient.dll                         .\System.Net.WebClient.dll, version=7.0.1023.36312
    System.ComponentModel.EventBasedAsync.dll        .\System.ComponentModel.EventBasedAsync.dll, version=7.0.1023.36312
    System.Drawing.Common.dll                        .\System.Drawing.Common.dll, version=7.0.1023.36312
    System.Memory.dll                                .\System.Memory.dll, version=7.0.1023.36312
    dxgi.DLL                                         C:\WINDOWS\SYSTEM32\dxgi.DLL, version=10.0.19041.2311 (WinBuild.160101.0800)
    Microsoft.Win32.SystemEvents.dll                 .\Microsoft.Win32.SystemEvents.dll, version=7.0.1023.36312
    System.Text.Encoding.Extensions.dll              .\System.Text.Encoding.Extensions.dll, version=7.0.1023.36312
    System.Collections.Immutable.dll                 .\System.Collections.Immutable.dll, version=7.0.1023.36312
    MSCTF.dll                                        C:\WINDOWS\System32\MSCTF.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    Microsoft.Win32.Registry.dll                     .\Microsoft.Win32.Registry.dll, version=7.0.1023.36312
    profapi.dll                                      C:\WINDOWS\SYSTEM32\profapi.dll, version=10.0.19041.3155 (WinBuild.160101.0800)
    System.Diagnostics.FileVersionInfo.dll           .\System.Diagnostics.FileVersionInfo.dll, version=7.0.1023.36312
    version.dll                                      C:\WINDOWS\SYSTEM32\version.dll, version=10.0.19041.546 (WinBuild.160101.0800)
    PointerToolkit.TerraFX.Interop.Windows.dll       .\PointerToolkit.TerraFX.Interop.Windows.dll, version=10.0.22621.2
    ComputeSharp.D2D1.dll                            .\ComputeSharp.D2D1.dll, version=2.0.3.0
    System.Security.Principal.Windows.dll            .\System.Security.Principal.Windows.dll, version=7.0.1023.36312
    System.Security.Claims.dll                       .\System.Security.Claims.dll, version=7.0.1023.36312
    d3d11.DLL                                        C:\WINDOWS\SYSTEM32\d3d11.DLL, version=10.0.19041.2913 (WinBuild.160101.0800)
    System.Net.Primitives.dll                        .\System.Net.Primitives.dll, version=7.0.1023.36312
    aticfx64.dll                                     C:\WINDOWS\System32\DriverStore\FileRepository\u0395045.inf_amd64_cb9a543331727801\B394905\aticfx64.dll, version=8.17.10.1698
    WINMM.dll                                        C:\WINDOWS\SYSTEM32\WINMM.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    amdxx64.dll                                      C:\WINDOWS\System32\DriverStore\FileRepository\u0395045.inf_amd64_cb9a543331727801\B394905\amdxx64.dll, version=8.17.10.0050
    SETUPAPI.dll                                     C:\WINDOWS\System32\SETUPAPI.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    cfgmgr32.dll                                     C:\WINDOWS\System32\cfgmgr32.dll, version=10.0.19041.3155 (WinBuild.160101.0800)
    System.ComponentModel.TypeConverter.dll          .\System.ComponentModel.TypeConverter.dll, version=7.0.1023.36312
    d2d1.DLL                                         C:\WINDOWS\SYSTEM32\d2d1.DLL, version=10.0.19041.1 (WinBuild.160101.0800)
    PresentationCore.dll                             .\PresentationCore.dll, version=7.0.1023.36404
    PaintDotNet.PropertySystem.dll                   .\PaintDotNet.PropertySystem.dll, version=5.9.8621.1636
    DirectWriteForwarder.dll                         .\DirectWriteForwarder.dll, version=7,0,1023,36404 @Commit: 9a9892f5204f1a1b31ab2c81b025d6e35e0f3693
    clbcatq.dll                                      C:\WINDOWS\System32\clbcatq.dll, version=2001.12.10941.16384 (WinBuild.160101.0800)
    System.Runtime.Extensions.dll                    .\System.Runtime.Extensions.dll, version=7.0.1023.36312
    System.Diagnostics.Debug.dll                     .\System.Diagnostics.Debug.dll, version=7.0.1023.36312
    System.Runtime.CompilerServices.VisualC.dll      .\System.Runtime.CompilerServices.VisualC.dll, version=7.0.1023.36312
    UIAnimation.dll                                  C:\WINDOWS\System32\UIAnimation.dll, version=10.0.19041.746 (WinBuild.160101.0800)
    dwrite.dll                                       C:\WINDOWS\SYSTEM32\dwrite.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    atidxx64.dll                                     C:\WINDOWS\System32\DriverStore\FileRepository\u0395045.inf_amd64_cb9a543331727801\B394905\atidxx64.dll, version=8.17.10.01093
    apphelp.dll                                      C:\WINDOWS\SYSTEM32\apphelp.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    amdihk64.dll                                     C:\WINDOWS\SYSTEM32\amdihk64.dll, version=2,00,00,1788
    System.Collections.NonGeneric.dll                .\System.Collections.NonGeneric.dll, version=7.0.1023.36312
    gdiplus.dll                                      C:\WINDOWS\WinSxS\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.2251_none_91a40448cc8846c1\gdiplus.dll, version=10.0.19041.2251 (WinBuild.160101.0800)
    WindowsCodecs.dll                                C:\WINDOWS\SYSTEM32\WindowsCodecs.dll, version=10.0.19041.1706 (WinBuild.160101.0800)
    XmlLite.dll                                      C:\WINDOWS\SYSTEM32\XmlLite.dll, version=10.0.19041.546 (WinBuild.160101.0800)
    System.IO.Packaging.dll                          .\System.IO.Packaging.dll, version=7.0.1023.36312
    PaintDotNet.Effects.Core.dll                     .\PaintDotNet.Effects.Core.dll, version=5.9.8621.1636
    comctl32.dll                                     C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\comctl32.dll, version=6.10 (WinBuild.160101.0800)
    Accessibility.dll                                .\Accessibility.dll, version=7.0.1023.36405
    dxcore.dll                                       C:\WINDOWS\SYSTEM32\dxcore.dll, version=10.0.19041.546 (WinBuild.160101.0800)
    UIAutomationTypes.dll                            .\UIAutomationTypes.dll, version=7.0.1023.36404
    System.Numerics.Vectors.dll                      .\System.Numerics.Vectors.dll, version=7.0.1023.36312
    PresentationFramework-SystemXml.dll              .\PresentationFramework-SystemXml.dll, version=7.0.1023.36404
    System.Threading.Tasks.Parallel.dll              .\System.Threading.Tasks.Parallel.dll, version=7.0.1023.36312
    System.Reflection.Metadata.dll                   .\System.Reflection.Metadata.dll, version=7.0.1023.36312
    System.IO.MemoryMappedFiles.dll                  .\System.IO.MemoryMappedFiles.dll, version=7.0.1023.36312
    TextShaping.dll                                  C:\WINDOWS\SYSTEM32\TextShaping.dll, version=
    Mono.Cecil.dll                                   .\Mono.Cecil.dll, version=0.11.5.0
    System.Runtime.Loader.dll                        .\System.Runtime.Loader.dll, version=7.0.1023.36312
    PaintDotNet.Effects.Gpu.dll                      .\PaintDotNet.Effects.Gpu.dll, version=5.9.8621.1636
    System.Reflection.MetadataLoadContext.dll        .\System.Reflection.MetadataLoadContext.dll, version=7.0.22.51805
    PaintDotNet.Effects.dll                          .\PaintDotNet.Effects.dll, version=5.9.8621.1636
    System.Console.dll                               .\System.Console.dll, version=7.0.1023.36312
    MyScript.dll                                     .\FileTypes\MyScript.dll, version=0.0.7306.29100
    HeicFileTypePlus.dll                             .\FileTypes\HeicFileTypePlus.dll, version=1.0.7.0
    PaintShopProFiletype.dll                         .\FileTypes\PaintShopProFiletype.dll, version=1.0.3.0
    ABRFileType.dll                                  .\FileTypes\ABRFileType.dll, version=1.3.7.0
    KritaFileType.dll                                .\FileTypes\KritaFileType.dll, version=1.0.0.0
    OptimizedJPEG.dll                                .\FileTypes\OptimizedJPEG.dll, version=1.0.2.0
    BMP32 Paint.NET FileType.dll                     .\FileTypes\BMP32 Paint.NET FileType.dll, version=2.4.0.0
    MozJpegFileType.dll                              .\FileTypes\MozJpegFileType.dll, version=1.0.1.0
    OptiPngFileType.dll                              .\FileTypes\OptiPngFileType.dll, version=8.11.30.0
    Base64FileType.dll                               .\FileTypes\Base64FileType.dll, version=1.0.0.9
    PatternFileType.dll                              .\FileTypes\PatternFileType.dll, version=1.0.7.0
    IcoCur.dll                                       .\FileTypes\IcoCur.dll, version=4.0.1.0
    ImAGIF.FileType.dll                              .\FileTypes\ImAGIF.FileType.dll, version=0.13.0.40659
    JpegXLFileType.dll                               .\FileTypes\JpegXLFileType.dll, version=1.0.4.0
    PDNJPEGXRPlugin.dll                              .\FileTypes\PDNJPEGXRPlugin.dll, version=1.0.1.0
    TileImageFileType.dll                            .\FileTypes\TileImageFileType.dll, version=1.1.0.0
    PsxTimFileType.dll                               .\FileTypes\PsxTimFileType.dll, version=0.3.0.0
    PhotoShop.dll                                    .\FileTypes\PhotoShop.dll, version=2.5.0.0
    RawFileType.dll                                  .\FileTypes\RawFileType.dll, version=1.3.5.0
    D3D10Warp.dll                                    C:\WINDOWS\SYSTEM32\D3D10Warp.dll, version=10.0.19041.2788 (WinBuild.160101.0800)
    wtsapi32.dll                                     C:\WINDOWS\SYSTEM32\wtsapi32.dll, version=10.0.19041.546 (WinBuild.160101.0800)
    WINSTA.dll                                       C:\WINDOWS\SYSTEM32\WINSTA.dll, version=10.0.19041.3155 (WinBuild.160101.0800)
    UIAutomationCore.dll                             C:\WINDOWS\SYSTEM32\UIAutomationCore.dll, version=7.2.19041.1 (WinBuild.160101.0800)
    PROPSYS.dll                                      C:\WINDOWS\SYSTEM32\PROPSYS.dll, version=7.0.19041.1708 (WinBuild.160101.0800)
    dwmapi.DLL                                       C:\WINDOWS\SYSTEM32\dwmapi.DLL, version=10.0.19041.1 (WinBuild.160101.0800)
    dataexchange.dll                                 C:\WINDOWS\system32\dataexchange.dll, version=10.0.19041.1387 (WinBuild.160101.0800)
    dcomp.dll                                        C:\WINDOWS\system32\dcomp.dll, version=10.0.19041.2913 (WinBuild.160101.0800)
    twinapi.appcore.dll                              C:\WINDOWS\system32\twinapi.appcore.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    textinputframework.dll                           C:\WINDOWS\SYSTEM32\textinputframework.dll, version=10.0.19041.3271 (WinBuild.160101.0800)
    CoreUIComponents.dll                             C:\WINDOWS\System32\CoreUIComponents.dll, version=10.0.19041.546
    CoreMessaging.dll                                C:\WINDOWS\System32\CoreMessaging.dll, version=10.0.19041.3324
    WS2_32.dll                                       C:\WINDOWS\System32\WS2_32.dll, version=10.0.19041.1081 (WinBuild.160101.0800)
    ntmarta.dll                                      C:\WINDOWS\SYSTEM32\ntmarta.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    wintypes.dll                                     C:\WINDOWS\SYSTEM32\wintypes.dll, version=10.0.19041.1320 (WinBuild.160101.0800)
    powrprof.dll                                     C:\WINDOWS\SYSTEM32\powrprof.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    UMPDC.dll                                        C:\WINDOWS\SYSTEM32\UMPDC.dll, version=
    System.Runtime.Serialization.Formatters.dll      .\System.Runtime.Serialization.Formatters.dll, version=7.0.1023.36312
    System.Text.RegularExpressions.dll               .\System.Text.RegularExpressions.dll, version=7.0.1023.36312
    PaintDotNet.SystemLayer.Native.x64.dll           .\PaintDotNet.SystemLayer.Native.x64.dll, version=5.9.8621.1636
    System.Windows.Forms.Legacy.dll                  .\System.Windows.Forms.Legacy.dll, version=1.0.0.0
    PaintDotNet.Plugins.Compatibility.dll            .\PaintDotNet.Plugins.Compatibility.dll, version=5.9.8621.1636
    System.Runtime.Intrinsics.dll                    .\System.Runtime.Intrinsics.dll, version=7.0.1023.36312
    PhotoSauce.MagicScaler.dll                       .\PhotoSauce.MagicScaler.dll, version=0.13.2.0
    explorerframe.dll                                C:\WINDOWS\system32\explorerframe.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    Cabinet.dll                                      C:\WINDOWS\SYSTEM32\Cabinet.dll, version=5.00 (WinBuild.160101.0800)
    d3dcompiler_47.dll                               C:\WINDOWS\SYSTEM32\d3dcompiler_47.dll, version=10.0.19041.3324 (WinBuild.160101.0800)
    CRYPTSP.dll                                      C:\WINDOWS\SYSTEM32\CRYPTSP.dll, version=10.0.19041.546 (WinBuild.160101.0800)
    mscorlib.dll                                     .\mscorlib.dll, version=7.0.1023.36312
    System.dll                                       .\System.dll, version=7.0.1023.36312
    System.Drawing.dll                               .\System.Drawing.dll, version=7.0.1023.36405
    System.Runtime.Serialization.Primitives.dll      .\System.Runtime.Serialization.Primitives.dll, version=7.0.1023.36312
    DdsFileTypePlus.dll                              .\Bundled\DDSFileTypePlus\DdsFileTypePlus.dll, version=1.12.2.0
    AvifFileType.dll                                 .\FileTypes\AvifFileType.dll, version=1.1.26.0
    WebPFileType.dll                                 .\Bundled\WebPFileType\WebPFileType.dll, version=1.3.19.0
    netstandard.dll                                  .\netstandard.dll, version=7.0.1023.36312
    PaintDotNet.Effects.Legacy.dll                   .\PaintDotNet.Effects.Legacy.dll, version=5.9.8621.1636
    AA's_Assistant.dll                               .\Effects\AA's_Assistant.dll, version=1.1.4329.33034
    ApplyMask.dll                                    .\Effects\ApplyMask.dll, version=6.0.8407.21905
    BoldBrush.dll                                    .\Effects\BoldBrush.dll, version=1.0.8367.20266
    ClipboardPasteEffect.dll                         .\Effects\ClipboardPasteEffect.dll, version=1.0.0.0
    Channel Gradient.dll                             .\Effects\Channel Gradient.dll, version=0.0.0.0
    ContentAwareFill.dll                             .\Effects\ContentAwareFill.dll, version=1.5.1.0
    CodeLab.dll                                      .\Effects\CodeLab.dll, version=5.3.7419.37464
    Gmic.dll                                         .\Effects\Gmic.dll, version=3.3.0.0
    GmicSharpPdnExample.dll                          .\Effects\GmicSharpPdnExample.dll, version=0.2.0.0
    TOON.dll                                         .\Effects\TOON.dll, version=1.0.7446.7819
    GridCheckerboard.dll                             .\Effects\GridCheckerboard.dll, version=3.0.5297.18928
    Grid Warp.dll                                    .\Effects\Grid Warp.dll, version=4.0.5873.25124
    GrimColorReaper.dll                              .\Effects\GrimColorReaper.dll, version=1.2.4299.5808
    ThatOtherAppPlus.dll                             .\Effects\ThatOtherAppPlus.dll, version=1.0.0.0
    MathLaTex.dll                                    .\Effects\MathLaTex.dll, version=1.0.0.0
    Kuwahara.dll                                     .\Effects\Kuwahara.dll, version=1.0.0.0
    ThatOtherApp.dll                                 .\Effects\ThatOtherApp.dll, version=2.2.0.0
    PasteAlpha.dll                                   .\Effects\PasteAlpha.dll, version=5.2.8174.40450
    System.CodeDom.dll                               .\System.CodeDom.dll, version=7.0.1023.36312
    PdnFF.dll                                        .\Effects\PdnFF.dll, version=1.0.5.1
    System.Core.dll                                  .\System.Core.dll, version=7.0.1023.36312
    PSFilterPdn.dll                                  .\Effects\PSFilterPdn\PSFilterPdn.dll, version=2.0.2.0
    SaveForWebRIOT.dll                               .\Effects\SaveForWebRIOT.dll, version=1.0.8.0
    SeamCarving.dll                                  .\Effects\SeamCarving.dll, version=1.0.5808.32821
    TerraFX.Interop.Windows.dll                      .\Effects\PSFilterPdn\TerraFX.Interop.Windows.dll, version=10.0.22621.2
    Smudge.dll                                       .\Effects\Smudge.dll, version=4.1.8581.29577
    SoftProofing.dll                                 .\Effects\SoftProofing.dll, version=1.1.0.1
    System.Xml.dll                                   .\System.Xml.dll, version=7.0.1023.36312
    MessagePack.dll                                  .\Effects\PSFilterPdn\MessagePack.dll, version=2.5.124.21940
    amsi.dll                                         C:\WINDOWS\SYSTEM32\amsi.dll, version=10.0.19041.2075 (WinBuild.160101.0800)
    USERENV.dll                                      C:\WINDOWS\SYSTEM32\USERENV.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    MpOav.dll                                        C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.23080.2006-0\MpOav.dll, version=4.18.23080.2006 (04d8e871ffe7ba6b2204046883e1ad9b7a5989ce)
    MPCLIENT.DLL                                     C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.23080.2006-0\MPCLIENT.DLL, version=4.18.23080.2006 (04d8e871ffe7ba6b2204046883e1ad9b7a5989ce)
    CRYPT32.dll                                      C:\WINDOWS\System32\CRYPT32.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    WINTRUST.dll                                     C:\WINDOWS\System32\WINTRUST.dll, version=10.0.19041.3271 (WinBuild.160101.0800)
    MSASN1.dll                                       C:\WINDOWS\System32\MSASN1.dll, version=10.0.19041.2251 (WinBuild.160101.0800)
    gpapi.dll                                        C:\WINDOWS\SYSTEM32\gpapi.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    System.Design.dll                                .\System.Design.dll, version=7.0.1023.36405
    System.Windows.Forms.Design.dll                  .\System.Windows.Forms.Design.dll, version=7.0.1023.36405
    System.Runtime.Serialization.Xml.dll             .\System.Runtime.Serialization.Xml.dll, version=7.0.1023.36312
    System.Private.DataContractSerialization.dll     .\System.Private.DataContractSerialization.dll, version=7.0.1023.36312
    System.Xml.XmlSerializer.dll                     .\System.Xml.XmlSerializer.dll, version=7.0.1023.36312
    System.Reflection.Emit.ILGeneration.dll          .\System.Reflection.Emit.ILGeneration.dll, version=7.0.1023.36312
    System.Reflection.Emit.Lightweight.dll           .\System.Reflection.Emit.Lightweight.dll, version=7.0.1023.36312
    System.Reflection.Primitives.dll                 .\System.Reflection.Primitives.dll, version=7.0.1023.36312
    CommunityToolkit.HighPerformance.dll             .\Effects\PSFilterPdn\CommunityToolkit.HighPerformance.dll, version=8.2.1.1
    LINKINFO.dll                                     C:\WINDOWS\SYSTEM32\LINKINFO.dll, version=10.0.19041.546 (WinBuild.160101.0800)
    sxs.dll                                          C:\WINDOWS\SYSTEM32\sxs.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    System.IO.Compression.dll                        .\System.IO.Compression.dll, version=7.0.1023.36312
    K4os.Compression.LZ4.dll                         .\K4os.Compression.LZ4.dll, version=1.2.16
    ComputeSharp.Core.dll                            .\ComputeSharp.Core.dll, version=2.0.3.0
    System.Diagnostics.StackTrace.dll                .\System.Diagnostics.StackTrace.dll, version=7.0.1023.36312
    DEVOBJ.dll                                       C:\WINDOWS\SYSTEM32\DEVOBJ.dll, version=10.0.19041.3155 (WinBuild.160101.0800)

 

 

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC |  Paint Shop Pro Filetype | RAW Filetype | WebP Filetype

The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait

 

Link to comment
Share on other sites

That call stack isn't from the Form's OnShown() method though, it's from within your form's constructor by way of the OnCreateConfigForm() method. You can't possibly access the effect's environment at that time because the effect instance hasn't even been delivered to the form yet.

 

I suspect this may have worked before (with EffectConfigDialog and classic Effect) but it was using a default environment instance with essentially dummy values.

 

Is there something I'm missing?

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

21 minutes ago, Rick Brewster said:

Is there something I'm missing?

 

I was trying to say that if you use the BitmapEffect Environment property in OnCreateConfigForm the RenderScans and MaskBitmap properties will throw an InvalidOperationException.

 

class Test : BitmapEffect
{
  protected override IEffectConfigForm OnCreateConfigForm()
  {
    IEffectSelectionInfo selectionInfo = this.Environment.Selection;
    // InvalidOperationException thrown on the following lines.
    var scans = selectionInfo.RenderScans;
    var mask = selectionInfo.Selection.MaskBitmap;
  }
}

 

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC |  Paint Shop Pro Filetype | RAW Filetype | WebP Filetype

The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait

 

Link to comment
Share on other sites

Right. That's correct. Those properties wouldn't be useful at that point anyway. A classic Effect would just get dummy values here, whereas for BitmapEffect/GpuEffect you now get an exception. I can change this to a NotInitializedException to make this clearer.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Also, you will not want to pass the environment from the effect to the form via OnCreateEffectConfigForm(). The environment object itself will be changed during the multi-step initialization process, and you'll be left holding onto an old copy which isn't what you want.

 

The form can already access the environment with its own Environment property (or just use this.Effect.Environment, which is all the Environment property is doing). You can call CreateRef<IBitmapEffectEnvironment>() on the environment to get access to the BitmapEffect-specific stuff.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

21 hours ago, Rick Brewster said:

You can call CreateRef<IBitmapEffectEnvironment>() on the environment to get access to the BitmapEffect-specific stuff.

 

I tried this and it crashed with an InterfaceNotSupportedException.

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC |  Paint Shop Pro Filetype | RAW Filetype | WebP Filetype

The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait

 

Link to comment
Share on other sites

7 minutes ago, Rick Brewster said:

When/where did you try it?

 

I was using it in some code that is called from the form's OnShown method.

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC |  Paint Shop Pro Filetype | RAW Filetype | WebP Filetype

The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait

 

Link to comment
Share on other sites

I think I found the problem, it's because BitmapEffect provides you with a new public Environment property, but the IEffect interface's Environment property is implemented by EffectBase, which is still handing you the (non-IBitmap)EffectEnvironment.

 

For now you can work around this by doing this.Effect.CreateRef<IBitmapEffect>() and then using that object's Environment property.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

4 hours ago, Rick Brewster said:

I think I found the problem, it's because BitmapEffect provides you with a new public Environment property, but the IEffect interface's Environment property is implemented by EffectBase, which is still handing you the (non-IBitmap)EffectEnvironment.

 

When I looked at the code, I thought it may be something like that.

 

The only IBitmapEffectEnvironment member I needed was the ImagingFactory, so I changed my code to get that using the Services property.

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC |  Paint Shop Pro Filetype | RAW Filetype | WebP Filetype

The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait

 

Link to comment
Share on other sites

On 9/6/2023 at 10:05 PM, null54 said:

The only IBitmapEffectEnvironment member I needed was the ImagingFactory, so I changed my code to get that using the Services property.

 

BTW you can also get the IImagingFactory with ImagingFactory.CreateRef(). So if you're in some corner of your code where you can't feasible get it directly from Services or Environment, or indirectly from the caller/owner passing it down, then that's an option too.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...