Jump to content

midora

Members
  • Posts

    1,782
  • Joined

  • Last visited

  • Days Won

    26

Posts posted by midora

  1. Six years ago not a lot of applications or browsers accepted files with extension .agif.

    This has changed in the meantime. So I would like to share a list of applications which worked without changing back the extension of files to .gif.

    Together with ImAGIF.Thumbnail there may be no longer a reason to rename the file.

    • firefox
    • google chrome
    • ms edge
    • paint.net (with ImAGIF.FileType plugin)
    • gimp

    Feel free to contribute to the list. I may add it to the first page.

    • Like 1
    • Upvote 1
  2. @otuncelliIt really depends on the library. The first thing in libpng is to request a kind of handle which is later used for other library calls and because there is one handle for read and another for write there is no issue. 

     

    The main issue is that the access of the managed stream in the native code may throw an exception. I can catch it but this doesn't help because re-throw can not unwind the stack to the caller of the native code.

     

    managed save plug in => native write method => managed write call back => catched exception => re-throw kills Paint.NET

     

    This was really something I didn't had in mind and @null54may be right that the only solution is to wrap code in setjmp/longjmp. But there are so many native methods that I do not like this solution.

     

    managed save plug in => native write method, setjmp => managed write call back => catched exception, longjmp back to native method, return error to save plugin, throw exception.

     

     

  3. 44 minutes ago, otuncelli said:

    Your plugin needs to be thread-safe for preview generation.

     

    But load and save are completly independent. And both should be thread safe for sure. I will not implement locks around the whole code just because paint.net throws an OperationCancelledException.

     

    I started this topic because I had only an idea what this new setting means and I (and maybe others) just learned that paint.net throws this exception and that you should clean up. 

     

     

  4. 44 minutes ago, null54 said:

    1. The delegates that you are passing to png_set_error_fn could be collected by the GC, the delegates should be a field in the containing class.

     

    You are absolutely right about this. Thanks.

     

    45 minutes ago, null54 said:

    Your HandleError method need to call png_destroy_write_struct(png_ptr_ptr, info_ptr_ptr) to cleanup the libpng data before throwing the exception.

     

    I guess there was a complete misunderstanding on my side about the call stack. I guess I had in mind that the throw will be catched by the plugin which does the cleanup.

     

     

  5. 1 hour ago, Rick Brewster said:

    If you have a link to your code I can probably spot what's going on and give you some suggestions.

    Thanks for the offer. In the moment the code is just in a local repository to track changes. I may place it on github sometime but because I never did it, its just an isuue on my to do list 😉 So I may come back.

    In the moment I'm just setting SupportsCancellation to false. That's no long term solution but in the moment I'm more interested to get it to run. Because png offers more color variants than gif this part of the code is a little bit more complex. I may add an SIGSEGV handler but that's not really a solution.

     

  6. To disable longjmp I'm using

     

                    png_set_error_fn(png_ptr_ptr, IntPtr.Zero,
                        Marshal.GetFunctionPointerForDelegate((Delegate) new png_error_ptr(HandleError)),
                        Marshal.GetFunctionPointerForDelegate((Delegate) new png_error_ptr(HandleWarning)));

     

            public void HandleError(IntPtr png_ptr, string msg)
            {
                System.Diagnostics.Trace.WriteLine("ERROR: " + msg);
                throw new Exception(msg);
            }

     

    and this seems to work. During development I have seen the ERROR/Warning message in the log, paint.net catched the exception and showed it in an error dialog.

     

    I'm catching and rethrowing exceptions in the managed code (and dump them to the trace log). But it may be that if the plugin is just executing unmanaged code it does not catch the exception and fails to clean up. But why should the application die in the case of a c# eception?

     

     

     

     

  7. Attached the debugger and now I'm getting a crash log window reporting an OperationCanceledExeption.

     

    Spoiler

    This text file was created because paint.net crashed. Please e-mail this to crashlog4@getpaint.net so we can diagnose and fix the problem.

    Application version: paint.net 4.3.3 (Stable 4.303.7994.40115)
    Time of crash: 01/12/2021 07:09:10
    Application uptime: 00:02:45.1154572
    Application state: Running
    Working set: 528.376 KiB
    Handles and threads: 1323 handles, 57 threads, 254 gdi, 286 user
    Install type: Portable
    Application directory: C:\dev\paint.net.4.3.3.portable.x64
    Current directory: C:\dev\paint.net.4.3.3.portable.x64
    Install directory: C:\Program Files\paint.net
    OS Version: Windows 10 Home 10.0.19043.0 x64
    .NET version: .NET 6.0.0-rtm.21522.10 x64
    Processor: "Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz" @ ~2304MHz (4C/8T, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2)
    Physical memory: 16100 MB
    Video card: Intel(R) UHD Graphics (v:8086, d:9B41, r:2), Microsoft Basic Render Driver (v:1414, d:8C, r:0)
    Hardware acceleration: True (default: True)
    Pointers: none
    UI animations: True
    UI DPI: 120 dpi (1,25x scale)
    UI theme: VisualStyleCategory=Aero, EffectiveTheme=Aero, DWM=yes, AeroColorScheme=Dark, ThemeFileName=Aero.msstyles
    Updates: n/a
    Locale: pdnr.c: en-US, hklm: n/a, hkcu: en-US, cc: en-CH, cuic: en-US
    Flags:

    Exception details:
    System.OperationCanceledException: The operation was canceled.
       at System.Threading.CancellationToken.ThrowOperationCanceledException()
       at PaintDotNet.IO.CancelableStream.Write(Byte[] buffer, Int32 offset, Int32 count) in D:\src\pdn\src\PaintDotNet\IO\CancelableStream.cs:line 78

    Managed assemblies:
        System.Private.CoreLib, .\System.Private.CoreLib.dll, Version=6.0.0.0, PublicKeyToken=7cec85d7bea7798e
        paintdotnet, .\paintdotnet.dll, Version=4.303.7994.40115
        System.Runtime, .\System.Runtime.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        PaintDotNet.Base, .\PaintDotNet.Base.dll, Version=4.303.7994.40115
        System.Windows.Forms, .\System.Windows.Forms.dll, Version=6.0.0.0, PublicKeyToken=b77a5c561934e089
        System.Diagnostics.Process, .\System.Diagnostics.Process.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        TerraFX.Interop.Windows, .\TerraFX.Interop.Windows.dll, Version=10.0.20348.0, PublicKeyToken=35b01b53313a6f7e
        PaintDotNet.SystemLayer, .\PaintDotNet.SystemLayer.dll, Version=4.303.7994.40115
        System.Runtime.InteropServices.RuntimeInformation, .\System.Runtime.InteropServices.RuntimeInformation.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Runtime.InteropServices, .\System.Runtime.InteropServices.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        PaintDotNet.SystemLayer.Native.x64, .\PaintDotNet.SystemLayer.Native.x64.dll, Version=4.303.7994.40115
        System.Threading, .\System.Threading.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Runtime.Extensions, .\System.Runtime.Extensions.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Runtime.CompilerServices.VisualC, .\System.Runtime.CompilerServices.VisualC.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Collections.NonGeneric, .\System.Collections.NonGeneric.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Runtime.Intrinsics, .\System.Runtime.Intrinsics.dll, Version=6.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
        PaintDotNet.Core, .\PaintDotNet.Core.dll, Version=4.303.7994.40115
        System.Private.Uri, .\System.Private.Uri.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.ComponentModel.Primitives, .\System.ComponentModel.Primitives.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Windows.Forms.Primitives, .\System.Windows.Forms.Primitives.dll, Version=6.0.0.0, PublicKeyToken=b77a5c561934e089
        WindowsBase, .\WindowsBase.dll, Version=6.0.0.0, PublicKeyToken=31bf3856ad364e35
        PresentationFramework, .\PresentationFramework.dll, Version=6.0.0.0, PublicKeyToken=31bf3856ad364e35
        System.Drawing.Primitives, .\System.Drawing.Primitives.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Xaml, .\System.Xaml.dll, Version=6.0.0.0, PublicKeyToken=b77a5c561934e089
        System.ComponentModel, .\System.ComponentModel.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Collections, .\System.Collections.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Diagnostics.TraceSource, .\System.Diagnostics.TraceSource.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Threading.Thread, .\System.Threading.Thread.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Text.Encoding.CodePages, .\System.Text.Encoding.CodePages.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        Microsoft.Win32.Primitives, .\Microsoft.Win32.Primitives.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        PaintDotNet.Resources, .\PaintDotNet.Resources.dll, Version=4.303.7994.40115
        Newtonsoft.Json, .\Newtonsoft.Json.dll, Version=13.0.0.0, PublicKeyToken=30ad4fe6b2a6aeed
        System.Linq.Expressions, .\System.Linq.Expressions.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.ComponentModel.TypeConverter, .\System.ComponentModel.TypeConverter.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.ObjectModel, .\System.ObjectModel.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Configuration.ConfigurationManager, .\System.Configuration.ConfigurationManager.dll, Version=6.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
        System.Collections.Specialized, .\System.Collections.Specialized.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Runtime.Numerics, .\System.Runtime.Numerics.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Xml.ReaderWriter, .\System.Xml.ReaderWriter.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        PaintDotNet.Data, .\PaintDotNet.Data.dll, Version=4.303.7994.40115
        System.Private.Xml, .\System.Private.Xml.dll, Version=6.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
        System.Net.WebClient, .\System.Net.WebClient.dll, Version=6.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
        System.ComponentModel.EventBasedAsync, .\System.ComponentModel.EventBasedAsync.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Memory, .\System.Memory.dll, Version=6.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
        System.Text.Encoding.Extensions, .\System.Text.Encoding.Extensions.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        PaintDotNet.Framework, .\PaintDotNet.Framework.dll, Version=4.303.7994.40115
        System.Drawing.Common, .\System.Drawing.Common.dll, Version=6.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
        Microsoft.Win32.SystemEvents, .\Microsoft.Win32.SystemEvents.dll, Version=6.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
        System.Collections.Immutable, .\System.Collections.Immutable.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Linq, .\System.Linq.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        Microsoft.Win32.Registry, .\Microsoft.Win32.Registry.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Threading.ThreadPool, .\System.Threading.ThreadPool.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Collections.Concurrent, .\System.Collections.Concurrent.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        PresentationCore, .\PresentationCore.dll, Version=6.0.0.0, PublicKeyToken=31bf3856ad364e35
        DirectWriteForwarder, .\DirectWriteForwarder.dll, Version=6.0.0.0, PublicKeyToken=31bf3856ad364e35
        System.Diagnostics.Debug, .\System.Diagnostics.Debug.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        UIAutomationTypes, .\UIAutomationTypes.dll, Version=6.0.0.0, PublicKeyToken=31bf3856ad364e35
        System.Diagnostics.FileVersionInfo, .\System.Diagnostics.FileVersionInfo.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        PaintDotNet.Effects, .\PaintDotNet.Effects.dll, Version=4.303.7994.40115
        Accessibility, .\Accessibility.dll, Version=4.0.0.0, PublicKeyToken=31bf3856ad364e35
        System.Threading.Tasks.Parallel, .\System.Threading.Tasks.Parallel.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Reflection.MetadataLoadContext, .\System.Reflection.MetadataLoadContext.dll, Version=6.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
        System.Reflection.Metadata, .\System.Reflection.Metadata.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.IO.Packaging, .\System.IO.Packaging.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.IO.MemoryMappedFiles, .\System.IO.MemoryMappedFiles.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Numerics.Vectors, .\System.Numerics.Vectors.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Diagnostics.Tracing, .\System.Diagnostics.Tracing.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Runtime.Loader, .\System.Runtime.Loader.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        ImAPNG.FileType, .\FileTypes\ImAPNG.FileType\ImAPNG.FileType.dll, Version=1.4.0.0
        ImAGIF.FileType, .\FileTypes\ImAGIF.FileType\ImAGIF.FileType.dll, Version=1.6.0.0
        AvifFileType, .\Bundled\AvifFileType\AvifFileType.dll, Version=1.1.17.0
        WebPFileType, .\Bundled\WebPFileType\WebPFileType.dll, Version=1.3.7.0
        DdsFileTypePlus, .\Bundled\DDSFileTypePlus\DdsFileTypePlus.dll, Version=1.10.10.0
        System.IO.FileSystem, .\System.IO.FileSystem.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Runtime.Serialization.Formatters, .\System.Runtime.Serialization.Formatters.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        mscorlib, .\mscorlib.dll, Version=4.0.0.0, PublicKeyToken=b77a5c561934e089
        System.Security.Claims, .\System.Security.Claims.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.CodeDom, .\System.CodeDom.dll, Version=6.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
        System.Text.RegularExpressions, .\System.Text.RegularExpressions.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Runtime.CompilerServices.Unsafe, .\System.Runtime.CompilerServices.Unsafe.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Diagnostics.StackTrace, .\System.Diagnostics.StackTrace.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Private.Xml.Linq, .\System.Private.Xml.Linq.dll, Version=6.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
        System.IO.Compression, .\System.IO.Compression.dll, Version=6.0.0.0, PublicKeyToken=b77a5c561934e089
        System.Runtime.Serialization.Primitives, .\System.Runtime.Serialization.Primitives.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        PresentationFramework-SystemXmlLinq, .\PresentationFramework-SystemXmlLinq.dll, Version=6.0.0.0, PublicKeyToken=b77a5c561934e089
        System.Xml.XDocument, .\System.Xml.XDocument.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Xml.Linq, .\System.Xml.Linq.dll, Version=4.0.0.0, PublicKeyToken=b77a5c561934e089
        System.Console, .\System.Console.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        Microsoft.VisualStudio.DesignTools.WpfTap, c:\program files (x86)\microsoft visual studio\2019\community\common7\ide\commonextensions\microsoft\xamldiagnostics\Core\x64\Microsoft.VisualStudio.DesignTools.WpfTap.dll, Version=16.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.IO.Pipes, .\System.IO.Pipes.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Threading.Tasks, .\System.Threading.Tasks.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Runtime.Serialization.Json, .\System.Runtime.Serialization.Json.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Private.DataContractSerialization, .\System.Private.DataContractSerialization.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Runtime.Serialization.Xml, .\System.Runtime.Serialization.Xml.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Resources.ResourceManager, .\System.Resources.ResourceManager.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Reflection.Emit.ILGeneration, .\System.Reflection.Emit.ILGeneration.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Reflection.Emit.Lightweight, .\System.Reflection.Emit.Lightweight.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
        System.Reflection.Primitives, .\System.Reflection.Primitives.dll, Version=6.0.0.0, PublicKeyToken=b03f5f7f11d50a3a

    Native modules:
        .\paintdotnet.exe, version=4.303.7994.40115
        C:\WINDOWS\SYSTEM32\ntdll.dll, version=10.0.19041.1023 (WinBuild.160101.0800)
        C:\WINDOWS\System32\KERNEL32.DLL, version=10.0.19041.1348 (WinBuild.160101.0800)
        C:\WINDOWS\System32\KERNELBASE.dll, version=10.0.19041.1348 (WinBuild.160101.0800)
        C:\WINDOWS\System32\USER32.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\System32\win32u.dll, version=10.0.19041.1320 (WinBuild.160101.0800)
        C:\WINDOWS\System32\GDI32.dll, version=10.0.19041.1202 (WinBuild.160101.0800)
        C:\WINDOWS\System32\gdi32full.dll, version=10.0.19041.1110 (WinBuild.160101.0800)
        C:\WINDOWS\System32\msvcp_win.dll, version=10.0.19041.789 (WinBuild.160101.0800)
        C:\WINDOWS\System32\ucrtbase.dll, version=10.0.19041.789 (WinBuild.160101.0800)
        C:\WINDOWS\System32\SHELL32.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\System32\ADVAPI32.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\System32\msvcrt.dll, version=7.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\System32\sechost.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\System32\RPCRT4.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\System32\IMM32.DLL, version=10.0.19041.546 (WinBuild.160101.0800)
        .\hostfxr.dll, version=6,0,21,52210 @Commit: 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
        .\hostpolicy.dll, version=6,0,21,52210 @Commit: 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
        .\coreclr.dll, version=6,0,21,52210 @Commit: 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
        C:\WINDOWS\System32\ole32.dll, version=10.0.19041.1320 (WinBuild.160101.0800)
        C:\WINDOWS\System32\combase.dll, version=10.0.19041.1320 (WinBuild.160101.0800)
        C:\WINDOWS\System32\OLEAUT32.dll, version=10.0.19041.985 (WinBuild.160101.0800)
        C:\WINDOWS\System32\bcryptPrimitives.dll, version=10.0.19041.1348 (WinBuild.160101.0800)
        .\System.Private.CoreLib.dll, version=6.0.21.52210
        .\clrjit.dll, version=6,0,21,52210 @Commit: 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
        C:\WINDOWS\SYSTEM32\kernel.appcore.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        .\paintdotnet.dll, version=4.303.7994.40115
        .\System.Runtime.dll, version=6.0.21.52210
        C:\WINDOWS\system32\uxtheme.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        .\PaintDotNet.Base.dll, version=4.303.7994.40115
        .\System.Windows.Forms.dll, version=6.0.21.52301
        .\System.Diagnostics.Process.dll, version=6.0.21.52210
        .\TerraFX.Interop.Windows.dll, version=10.0.20348.0
        .\PaintDotNet.SystemLayer.dll, version=4.303.7994.40115
        .\System.Runtime.InteropServices.RuntimeInformation.dll, version=6.0.21.52210
        .\System.Runtime.InteropServices.dll, version=6.0.21.52210
        .\vcruntime140.dll, version=14.30.30704.0 built by: vcwrkspc
        .\vcruntime140_1.dll, version=14.30.30704.0 built by: vcwrkspc
        .\msvcp140.dll, version=14.30.30704.0 built by: vcwrkspc
        .\msvcp140_1.dll, version=14.30.30704.0 built by: vcwrkspc
        .\msvcp140_2.dll, version=14.30.30704.0 built by: vcwrkspc
        .\msvcp140_codecvt_ids.dll, version=14.30.30704.0 built by: vcwrkspc
        .\vcomp140.dll, version=14.30.30704.0 built by: vcwrkspc
        .\ijwhost.dll, version=6,0,21,52210 @Commit: 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
        .\PaintDotNet.SystemLayer.Native.x64.dll, version=4.303.7994.40115
        C:\WINDOWS\SYSTEM32\PROPSYS.dll, version=7.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\WinSxS\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.1348_none_91a2627ccc89e3fb\gdiplus.dll, version=10.0.19041.1348 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\WindowsCodecs.dll, version=10.0.19041.1151 (WinBuild.160101.0800)
        C:\WINDOWS\System32\bcrypt.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        .\System.Threading.dll, version=6.0.21.52210
        .\System.Runtime.Extensions.dll, version=6.0.21.52210
        .\System.Runtime.CompilerServices.VisualC.dll, version=6.0.21.52210
        .\System.Collections.NonGeneric.dll, version=6.0.21.52210
        .\System.Runtime.Intrinsics.dll, version=6.0.21.52210
        C:\WINDOWS\SYSTEM32\windows.storage.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\Wldp.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\System32\SHCORE.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\System32\shlwapi.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        .\PaintDotNet.Core.dll, version=4.303.7994.40115
        .\System.Private.Uri.dll, version=6.0.21.52210
        .\System.ComponentModel.Primitives.dll, version=6.0.21.52210
        .\System.Windows.Forms.Primitives.dll, version=6.0.21.52301
        .\WindowsBase.dll, version=6.0.21.52301
        .\PresentationFramework.dll, version=6.0.21.52301
        .\System.Drawing.Primitives.dll, version=6.0.21.52210
        .\System.Xaml.dll, version=6.0.21.52301
        .\System.ComponentModel.dll, version=6.0.21.52210
        .\System.Collections.dll, version=6.0.21.52210
        .\System.Diagnostics.TraceSource.dll, version=6.0.21.52210
        .\System.Threading.Thread.dll, version=6.0.21.52210
        .\System.Text.Encoding.CodePages.dll, version=6.0.21.52210
        .\Microsoft.Win32.Primitives.dll, version=6.0.21.52210
        .\PaintDotNet.Resources.dll, version=4.303.7994.40115
        .\Newtonsoft.Json.dll, version=13.0.1.25517
        .\System.Linq.Expressions.dll, version=6.0.21.52210
        .\System.ComponentModel.TypeConverter.dll, version=6.0.21.52210
        .\System.ObjectModel.dll, version=6.0.21.52210
        .\System.Configuration.ConfigurationManager.dll, version=6.0.21.52210
        .\PresentationNative_cor3.dll, version=6,0,21,48001 @Commit: bf6f24c075ff5315d0ec0e5359138ee796b0491c
        .\System.Collections.Specialized.dll, version=6.0.21.52210
        .\System.Runtime.Numerics.dll, version=6.0.21.52210
        .\System.Xml.ReaderWriter.dll, version=6.0.21.52210
        .\PaintDotNet.Data.dll, version=4.303.7994.40115
        .\System.Private.Xml.dll, version=6.0.21.52210
        C:\WINDOWS\SYSTEM32\icu.dll, version=64, 2, 0, 0 (WinBuild.160101.0800)
        .\System.Net.WebClient.dll, version=6.0.21.52210
        .\System.ComponentModel.EventBasedAsync.dll, version=6.0.21.52210
        .\System.Memory.dll, version=6.0.21.52210
        .\System.Text.Encoding.Extensions.dll, version=6.0.21.52210
        .\PaintDotNet.Framework.dll, version=4.303.7994.40115
        .\System.Drawing.Common.dll, version=6.0.21.52210
        .\Microsoft.Win32.SystemEvents.dll, version=6.0.21.52210
        .\System.Collections.Immutable.dll, version=6.0.21.52210
        .\System.Linq.dll, version=6.0.21.52210
        .\Microsoft.Win32.Registry.dll, version=6.0.21.52210
        .\System.Threading.ThreadPool.dll, version=6.0.21.52210
        C:\WINDOWS\SYSTEM32\dxgi.dll, version=10.0.19041.1266 (WinBuild.160101.0800)
        C:\WINDOWS\System32\MSCTF.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        .\System.Collections.Concurrent.dll, version=6.0.21.52210
        .\PresentationCore.dll, version=6.0.21.52301
        .\DirectWriteForwarder.dll, version=6,0,21,52301 @Commit: 3f75a67c752a116de292affae29a22bbb5b71b18
        .\System.Diagnostics.Debug.dll, version=6.0.21.52210
        C:\WINDOWS\SYSTEM32\dwrite.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        .\UIAutomationTypes.dll, version=6.0.21.52301
        .\System.Diagnostics.FileVersionInfo.dll, version=6.0.21.52210
        .\PaintDotNet.Effects.dll, version=4.303.7994.40115
        .\Accessibility.dll, version=6.0.21.52301
        C:\WINDOWS\System32\clbcatq.dll, version=2001.12.10941.16384 (WinBuild.160101.0800)
        C:\WINDOWS\System32\UIAnimation.dll, version=10.0.19041.746 (WinBuild.160101.0800)
        .\System.Threading.Tasks.Parallel.dll, version=6.0.21.52210
        .\System.Reflection.MetadataLoadContext.dll, version=6.0.21.52210
        C:\WINDOWS\SYSTEM32\version.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        .\System.Reflection.Metadata.dll, version=6.0.21.52210
        .\System.IO.Packaging.dll, version=6.0.21.52210
        .\System.IO.MemoryMappedFiles.dll, version=6.0.21.52210
        C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_60b5254171f9507e\comctl32.dll, version=6.10 (WinBuild.160101.0800)
        .\System.Numerics.Vectors.dll, version=6.0.21.52210
        .\System.Diagnostics.Tracing.dll, version=6.0.21.52210
        .\ucrtbase.dll, version=10.0.19041.685 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\TextShaping.dll, version=
        .\System.Runtime.Loader.dll, version=6.0.21.52210
        .\FileTypes\ImAPNG.FileType\ImAPNG.FileType.dll, version=1.4.0.0
        .\FileTypes\ImAGIF.FileType\ImAGIF.FileType.dll, version=1.6.0.0
        C:\WINDOWS\SYSTEM32\mfplat.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\System32\cfgmgr32.dll, version=10.0.19041.1151 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\RTWorkQ.DLL, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\CompPkgSup.DLL, version=10.0.19041.746 (WinBuild.160101.0800)
        C:\Windows\System32\Windows.StateRepositoryPS.dll, version=10.0.19041.844 (WinBuild.160101.0800)
        .\Bundled\AvifFileType\AvifFileType.dll, version=1.1.17.0
        .\Bundled\WebPFileType\WebPFileType.dll, version=1.3.7.0
        .\Bundled\DDSFileTypePlus\DdsFileTypePlus.dll, version=1.10.10.0
        .\System.IO.FileSystem.dll, version=6.0.21.52210
        C:\Windows\System32\WinTypes.dll, version=10.0.19041.1320 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\d2d1.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\wtsapi32.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\WINSTA.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\d3d11.dll, version=10.0.19041.1202 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\D3D10Warp.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\dxcore.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\UIAutomationCore.dll, version=7.2.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\sxs.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        .\System.Runtime.Serialization.Formatters.dll, version=6.0.21.52210
        .\mscorlib.dll, version=6.0.21.52210
        .\System.Security.Claims.dll, version=6.0.21.52210
        .\System.CodeDom.dll, version=6.0.21.52210
        C:\WINDOWS\SYSTEM32\dwmapi.DLL, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\system32\dataexchange.dll, version=10.0.19041.1151 (WinBuild.160101.0800)
        C:\WINDOWS\system32\dcomp.dll, version=10.0.19041.1266 (WinBuild.160101.0800)
        C:\WINDOWS\system32\twinapi.appcore.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\textinputframework.dll, version=10.0.19041.1320 (WinBuild.160101.0800)
        C:\WINDOWS\System32\CoreUIComponents.dll, version=10.0.19041.546
        C:\WINDOWS\System32\CoreMessaging.dll, version=10.0.19041.746
        C:\WINDOWS\System32\WS2_32.dll, version=10.0.19041.1081 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\ntmarta.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\powrprof.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\UMPDC.dll, version=
        .\System.Text.RegularExpressions.dll, version=6.0.21.52210
        C:\WINDOWS\SYSTEM32\winmm.DLL, version=10.0.19041.1 (WinBuild.160101.0800)
        .\System.Runtime.CompilerServices.Unsafe.dll, version=6.0.21.52210
        C:\WINDOWS\SYSTEM32\oleacc.dll, version=7.2.19041.746 (WinBuild.160101.0800)
        C:\WINDOWS\system32\explorerframe.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        .\System.Diagnostics.StackTrace.dll, version=6.0.21.52210
        .\Microsoft.DiaSymReader.Native.amd64.dll, version=14.28.29715.1 built by: vcwrkspc
        C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_ea63d1eddd5853b5\igd10iumd64.dll, version=26.20.100.6911
        C:\WINDOWS\SYSTEM32\ncrypt.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\NTASN1.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_ea63d1eddd5853b5\igdgmm64.dll, version=26.20.100.6911
        C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_ea63d1eddd5853b5\igc64.dll, version=26.20.100.6911
        .\System.Private.Xml.Linq.dll, version=6.0.21.52210
        C:\WINDOWS\SYSTEM32\policymanager.dll, version=10.0.19041.1320 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\msvcp110_win.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        .\System.IO.Compression.dll, version=6.0.21.52210
        C:\WINDOWS\SYSTEM32\profapi.dll, version=10.0.19041.844 (WinBuild.160101.0800)
        .\System.Runtime.Serialization.Primitives.dll, version=6.0.21.52210
        .\PresentationFramework-SystemXmlLinq.dll, version=6.0.21.52301
        .\System.Xml.XDocument.dll, version=6.0.21.52210
        .\System.Xml.Linq.dll, version=6.0.21.52210
        .\System.Console.dll, version=6.0.21.52210
        c:\program files (x86)\microsoft visual studio\2019\community\common7\ide\commonextensions\microsoft\xamldiagnostics\x64\Microsoft.VisualStudio.DesignTools.WpfTapBootstrap.dll, version=16.0.31603.221
        C:\WINDOWS\SYSTEM32\mscoree.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscoreei.dll, version=4.8.4180.0 built by: NET48REL1LAST_B
        c:\program files (x86)\microsoft visual studio\2019\community\common7\ide\commonextensions\microsoft\xamldiagnostics\Core\x64\Microsoft.VisualStudio.DesignTools.WpfTap.dll, version=16.11.31603.221
        .\System.IO.Pipes.dll, version=6.0.21.52210
        .\System.Threading.Tasks.dll, version=6.0.21.52210
        .\System.Runtime.Serialization.Json.dll, version=6.0.21.52210
        .\System.Private.DataContractSerialization.dll, version=6.0.21.52210
        .\System.Runtime.Serialization.Xml.dll, version=6.0.21.52210
        .\System.Resources.ResourceManager.dll, version=6.0.21.52210
        .\System.Reflection.Emit.ILGeneration.dll, version=6.0.21.52210
        .\System.Reflection.Emit.Lightweight.dll, version=6.0.21.52210
        .\System.Reflection.Primitives.dll, version=6.0.21.52210
        C:\WINDOWS\System32\comdlg32.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\XmlLite.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\Windows\System32\Windows.FileExplorer.Common.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\LINKINFO.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\System32\DUI70.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\System32\DUser.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\Windows\System32\thumbcache.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\Windows\System32\Windows.UI.FileExplorer.dll, version=10.0.19041.1202 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\edputil.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\atlthunk.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\System32\StructuredQuery.dll, version=7.0.19041.867 (WinBuild.160101.0800)
        C:\Windows\System32\iertutil.dll, version=11.00.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\system32\Windows.Storage.Search.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\SspiCli.dll, version=10.0.19041.1266 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\samcli.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\SAMLIB.dll, version=10.0.19041.1348 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\netutils.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\Program Files\Common Files\microsoft shared\ink\tiptsf.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\MPR.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\System32\drprov.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\System32\ntlanman.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\System32\davclnt.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\System32\DAVHLPR.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\System32\wkscli.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\cscapi.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\System32\coml2.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\Windows\System32\twinapi.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\system32\msieftp.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\system32\urlmon.dll, version=11.00.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\system32\SHDOCVW.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\system32\srvcli.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\apphelp.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\system32\WININET.dll, version=11.00.19041.1165 (WinBuild.160101.0800)
        C:\Windows\System32\dlnashext.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\Windows\System32\PlayToDevice.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\Windows\System32\DevDispItemProvider.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\Users\osieka\AppData\Local\Microsoft\OneDrive\21.220.1024.0005\FileSyncShell64.dll, version=21.220.1024.0005
        C:\WINDOWS\System32\CRYPT32.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\Secur32.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\USERENV.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\CRYPTBASE.DLL, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\WINDOWS\system32\NetworkExplorer.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\Windows\System32\EhStorShell.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\System32\SETUPAPI.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\ntshrui.dll, version=10.0.19041.1165 (WinBuild.160101.0800)
        C:\WINDOWS\System32\MMDevApi.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\System32\DEVOBJ.dll, version=10.0.19041.1151 (WinBuild.160101.0800)
        C:\Windows\System32\PortableDeviceApi.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\System32\WINTRUST.dll, version=10.0.19041.1266 (WinBuild.160101.0800)
        C:\WINDOWS\System32\MSASN1.dll, version=10.0.19041.546 (WinBuild.160101.0800)
        C:\Windows\System32\PortableDeviceTypes.dll, version=10.0.19041.746 (WinBuild.160101.0800)
        C:\Windows\System32\EhStorAPI.dll, version=10.0.19041.1 (WinBuild.160101.0800)
        C:\WINDOWS\SYSTEM32\PhotoMetadataHandler.dll, version=10.0.19041.746 (WinBuild.160101.0800)
    ------------------------------------------------------------------------------

     

     

    The VS output window shows

     

    Spoiler

    {X=0,Y=0,Width=500,Height=122}, dispose=0Save frame 46 of 486, region={X=0,Y=7,Width=500,Height=143}, dispose=0Save frame 47 of 486, region={X=0,Y=0,Width=500,Height=121}, dispose=0Exception thrown at 0x00007FFFEFDD4F69 (KernelBase.dll) in paintdotnet.exe: 0x0000071A: The remote procedure call was canceled, or if a call time-out was specified, the call timed out.
    The thread 0x1b80 has exited with code 0 (0x0).
    'paintdotnet.exe' (Win32): Loaded 'C:\dev\paint.net.4.3.3.portable.x64\vcruntime140_cor3.dll'.
    The thread 0x8ec has exited with code -2146233029 (0x8013153b).
    The thread 0x1824 has exited with code -2146233029 (0x8013153b).
    The thread 0x42c8 has exited with code -2146233029 (0x8013153b).
    The thread 0x1398 has exited with code -2146233029 (0x8013153b).
    The thread 0xb2c has exited with code -2146233029 (0x8013153b).
    The thread 0x4760 has exited with code -2146233029 (0x8013153b).
    The thread 0x1224 has exited with code -2146233029 (0x8013153b).
    The thread 0x3d18 has exited with code -2146233029 (0x8013153b).
    The thread 0x47d0 has exited with code -2146233029 (0x8013153b).
    The thread 0x3d00 has exited with code -2146233029 (0x8013153b).
    The thread 0x4b74 has exited with code -2146233029 (0x8013153b).
    The thread 0x1e58 has exited with code -2146233029 (0x8013153b).
    The thread 0x22b8 has exited with code -2146233029 (0x8013153b).
    The thread 0x10e8 has exited with code -2146233029 (0x8013153b).
    The thread 0x40f8 has exited with code -2146233029 (0x8013153b).
    The thread 0x3ad8 has exited with code -2146233029 (0x8013153b).
    The thread 0x3244 has exited with code -2146233029 (0x8013153b).
    The thread 0x258c has exited with code -2146233029 (0x8013153b).
    The thread 0x44b4 has exited with code -2146233029 (0x8013153b).
    The thread 0x46c0 has exited with code -2146233029 (0x8013153b).
    The thread 0x2cc8 has exited with code -2146233029 (0x8013153b).
    The thread 0x460 has exited with code -2146233029 (0x8013153b).
    The thread 0x3d50 has exited with code -2146233029 (0x8013153b).
    The thread 0x4414 has exited with code -2146233029 (0x8013153b).
    The thread 0x47b0 has exited with code -2146233029 (0x8013153b).
    The thread 0x1e04 has exited with code -2146233029 (0x8013153b).
    The thread 0x4278 has exited with code -2146233029 (0x8013153b).
    The thread 0x1620 has exited with code -2146233029 (0x8013153b).
    The thread 0x3c9c has exited with code -2146233029 (0x8013153b).
    The thread 0x4418 has exited with code -2146233029 (0x8013153b).
    The thread 0x1338 has exited with code -2146233029 (0x8013153b).
    The thread 0x4034 has exited with code -2146233029 (0x8013153b).
    The thread 0x17ac has exited with code -2146233029 (0x8013153b).
    The thread 0x320c has exited with code -2146233029 (0x8013153b).
    The thread 0x4584 has exited with code -2146233029 (0x8013153b).
    The thread 0x3388 has exited with code -2146233029 (0x8013153b).
    The thread 0x960 has exited with code -2146233029 (0x8013153b).
    The thread 0x2b5c has exited with code -2146233029 (0x8013153b).
    The thread 0x158c has exited with code -2146233029 (0x8013153b).
    The thread 0x2558 has exited with code -2146233029 (0x8013153b).
    The thread 0x4874 has exited with code -2146233029 (0x8013153b).
    The thread 0x4354 has exited with code -2146233029 (0x8013153b).
    The thread 0x32c has exited with code -2146233029 (0x8013153b).
    The thread 0x3c6c has exited with code -2146233029 (0x8013153b).
    The thread 0x3548 has exited with code -2146233029 (0x8013153b).
    The thread 0x1e8c has exited with code -2146233029 (0x8013153b).
    The thread 0x40ec has exited with code -2146233029 (0x8013153b).
    The thread 0x1b70 has exited with code -2146233029 (0x8013153b).
    The thread 0x4b10 has exited with code -2146233029 (0x8013153b).
    The thread 0x248 has exited with code -2146233029 (0x8013153b).
    The thread 0x493c has exited with code -2146233029 (0x8013153b).
    The thread 0x28e0 has exited with code -2146233029 (0x8013153b).
    The thread 0x4994 has exited with code -2146233029 (0x8013153b).
    The thread 0x2b58 has exited with code -2146233029 (0x8013153b).
    The thread 0x4304 has exited with code -2146233029 (0x8013153b).
    The thread 0x3e20 has exited with code -2146233029 (0x8013153b).
    The thread 0x3504 has exited with code -2146233029 (0x8013153b).
    The program '[6612] paintdotnet.exe' has exited with code -2146233029 (0x8013153b).

     

     

    Means the save operation has been aborted while writing image frame 47 of 486.

     

    Or is this misleading now if paint.net reports the OperationCanceledException?

     

  8. I'm not so happy with the current solution that paint.net throws an OperationCancelException which the plugin can catch to cleanup the save operation (or the loading of the preview). It makes the design of the code more complex.

     

    Plus my current issue that paint.net just dies and I have no idea if the issue is in the plugin code or not. And what will happen if I'm optimizing the code by using multiple tasks? Will the cleanup work?

  9. Sometimes my ImAPNG filetype crashes in 4.3.3 if I'm changing the options to fast.

    If the crash happens then there is no OnSave OperationCancelException in my trace output. paint.net just dies.

    Setting SupportsCancellation to false avoids this issue. But that's not really a solution.

    The plugin reports progress regularly for each frame of the animation.

     

  10. I'm using the AccentColor of Windows 10 in my dialogs to highlight several states.

    This works fine if the user selects the color scheme setting 'default' but not always in the other cases.

    Adding an AccentColor property to the dialog would help.

    paint.net could then set BackColor, ForeColor, and AccentColor of the dialog.

     

    Here a screenshot of a preview dialog:

     

    image.png.906adec3ebaa355dc9fd61e86f4cab8c.png

     

    BTW: In the moment I'm getting the AccentColor from the registry (if available)

    var rk = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\DWM");

    var abgr = rk.GetValue("AccentColor");

    var color = Color.FromArgb((int)abgr);
    accentColor = Color.FromArgb(color.A, color.B, color.G, color.R);

  11. Hi @xPainter if you are just getting a blank canvas and no error message then I would expect that there is an issue with an registry entry.

     

    Open the registry editor and search for the key PaintDotNet.exe.

    The subkey PaintDotNet.exe\shell\open\command should show "%1" at the end. If this is not the case then add it.

    The value of my command key is: "C:\Program Files\paint.net\PaintDotNet.exe" "%1"

     

    Be aware there are multiple PaintDotNet.exe keys in the registry. Check all of them.

     

     

     

    .

  12. 6 hours ago, AndrewDavid said:

    private void OnWindowHelpButtonClicked(IWin32Window owner, string helpContent)

     

    The issue with this method is that it's called via reflection. paint.net should provide a method to override.

    In the moment the compiler guesses that this method is just a private one in your code and nobody calls it. And if owner is not used in the implementation of the method the compiler proposes to remove it. But that's not a good idea because the reflection code will try to set this parameter and fail.

     

    So to get rid of the warning you should use the owner parameter.

    Typically OnWindowHelpButtonClicked shows a dialog or a message box. The Show method of these objects allows to provide an owner as first parameter. I.e.

        MessageBox.Show(owner, ...

    This is a good idea because setting this parameter add the dialog to the dialog stack of the application.

     

    If the code doesn't use a dialog then try to assign the parameter to itself:

        owner = owner;

    (but this may generate an other warning).

     

     

     

     

    • Thanks 1
  13. Thanks to all for your help.

    @Red ochre yes I would take the 0.6 😉 Older ones make no sence.

    A v0.9 would be greate because this one introduced dithering.

     

    In the meantime I figured out what's the issue with Pixeys gif. The gif starts with a frame of 256 colors (the gif limit) but adds more and more colors so that the last frame contains more than 10000 colors. This is legal but not supported by the plugin in the moment. Looking to the first and to the next frame you wouldn't expect that these two frames are using 10000 different colors. I'm pretty sure you wouldn't see a big difference if both frames would use the same 256 colors. And the file size would shrink.

    At the end you have to find a compromise between encoding speed and final file size.

×
×
  • Create New...