paint.net 4.2.12 is now available

This is a hotfix for a few important issues that have come to light with the 4.2.11 release.

If you’re using the Windows Store release, you should get the update automatically within the next 24 hours. You can also force an update check by following these instructions.

For the Classic release, you should be offered the update automatically within the next week or so. You can get the update sooner by going to ⚙ Settings → Updates → Check Now. You can also download and install it directly from the website.

Changes since 4.2.11:

Enjoy!

14 thoughts on “paint.net 4.2.12 is now available

  1. sags@reagan.com says:

    Your latest updates no longer will install on my Win 7 64 system. The last system that installed and WORKS is: 4.2.6

  2. Simon says:

    I can’t install it.
    When trying to download the upgrade (from 4.2.8) I get:
    ‘There was an error while checking for updates.’
    ‘There was an error decompressing the download.’
    I haven’t been able to upgrade for a while, I have often seen this message.

  3. Alex says:

    Hi
    Thanks for all!
    The last update block all my replacing save. So I have to creat a new saving fil =/
    It appear to our all computeur.

    System.ComponentModel.Win32Exception (0x80004005): ReplaceFileW() returned FALSE (5, ERROR_ACCESS_DENIED)
    à PaintDotNet.SystemLayer.NativeUtilities.ThrowOnWin32Error(String message, Int32 lastWin32Error, Boolean alwaysThrow) dans D:\src\pdn\src\SystemLayer\NativeUtilities.cs:ligne 89

  4. John says:

    I received the exception below when trying to open a HEIC file.
    The file opens perfectly in Windows Photo Viewer and can also be converted to JPG using CopyTrans HEIC for Windows (and the jpg can be successfully opened).

    A different HEIC can be opened successfully.

    Application version: paint.net 4.2.12

    System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    at PaintDotNet.SystemLayer.Native.x64.Imaging.WICImagingFactory.CreateDecoderFromStream(Stream stream, BitmapDecodeOptions metadataOptions, Nullable1 containerFormat, Nullable1 preferredVendor)
    at PaintDotNet.Data.WicFileTypeHelpers.Load(Stream input, Nullable1 forcedContainerFormat, Nullable1 preferredVendor, IMetadataTranscoder metadataTranscoder) in D:\src\pdn\src\PaintDotNet\Data\WicFileTypeHelpers.cs:line 62
    at PaintDotNet.Data.HeifFileType.OnLoad(Stream input) in D:\src\pdn\src\PaintDotNet\Data\HeifFileType.cs:line 90
    at PaintDotNet.FileType.Load(Stream input) in D:\src\pdn\src\Data\FileType.cs:line 527
    at PaintDotNet.Functional.Func.Eval[T1,TRet](Func`2 f, T1 arg1) in D:\src\pdn\src\Base\Functional\Func.cs:line 158

    Application paint.net 4.2.12 (Final 4.212.7454.35665)
    Build Date 29. maj 2020
    Install type Classic

    Hardware accelerated rendering (GPU) True
    Animations True
    DPI 96 (1,00x scale)
    Language en-US

    OS Windows 10 Pro x64 (10.0.19041.0) (0x30)
    .NET Runtime 4.0.30319.42000
    Physical Memory 24.567 MB

    CPU Intel(R) Core(TM) i7 CPU 965 @ 3.20GHz
    Speed ~3207 MHz
    Cores / Threads 4 / 8
    Features SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2

    Video Card NVIDIA GeForce RTX 2060
    Dedicated Video RAM 5.980 MB
    Dedicated System RAM 0 MB
    Shared System RAM 12.283 MB
    Vendor ID 0x10DE
    Device ID 0x1F08
    Subsystem ID 0x37CE1458
    Revision 161
    LUID 0x000083FE
    Flags AcgCompatible, SupportMonitoredFences, KeyedMutexConformance
    Graphics Preemption PixelBoundary
    Compute Preemption DispatchBoundary
    Outputs 2
    Feature Level Direct3D_12_1
    DXGI Formats A8_UNorm, B8G8R8A8_UNorm, R16G16B16A16_UNorm, R16G16B16A16_Float, R32G32B32A32_Float
    Buffer Precision UNorm8bpc, UNorm8bpcSrgb, UNorm16bpc, Float16bpc, Float32bpc

    Video Card Microsoft Basic Render Driver
    Dedicated Video RAM 0 MB
    Dedicated System RAM 0 MB
    Shared System RAM 12.283 MB
    Vendor ID 0x1414
    Device ID 0x008C
    Subsystem ID 0x00000000
    Revision 0
    LUID 0x0000AB9C
    Flags Software, AcgCompatible, SupportMonitoredFences, KeyedMutexConformance
    Graphics Preemption InstructionBoundary
    Compute Preemption InstructionBoundary
    Outputs 0
    Feature Level Direct3D_12_1
    DXGI Formats A8_UNorm, B8G8R8A8_UNorm, R16G16B16A16_UNorm, R16G16B16A16_Float, R32G32B32A32_Float
    Buffer Precision UNorm8bpc, UNorm8bpcSrgb, UNorm16bpc, Float16bpc, Float32bpc

  5. John says:

    I just tried saving a few files as HEIC and they all got the following exception when trying to generate the preview.

    Application version: paint.net 4.2.12

    System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    at PaintDotNet.SystemLayer.Native.x64.Imaging.WICImagingFactory.CreateDecoderFromStream(Stream stream, BitmapDecodeOptions metadataOptions, Nullable`1 containerFormat, Nullable`1 preferredVendor)
    at PaintDotNet.Data.WicFileTypeHelpers.Load(Stream input, Nullable`1 forcedContainerFormat, Nullable`1 preferredVendor, IMetadataTranscoder metadataTranscoder) in D:\src\pdn\src\PaintDotNet\Data\WicFileTypeHelpers.cs:line 62
    at PaintDotNet.Data.HeifFileType.OnLoad(Stream input) in D:\src\pdn\src\PaintDotNet\Data\HeifFileType.cs:line 90
    at PaintDotNet.FileType.Load(Stream input) in D:\src\pdn\src\Data\FileType.cs:line 527
    at PaintDotNet.Dialogs.SaveConfigDialog.<>c__DisplayClass49_0.<UpdatePreviewAsync>b__0() in D:\src\pdn\src\PaintDotNet\Dialogs\SaveConfigDialog.cs:line 623
    at System.Threading.Tasks.Task.Execute()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at PaintDotNet.Dialogs.SaveConfigDialog.<UpdatePreviewAsync>d__49.MoveNext() in D:\src\pdn\src\PaintDotNet\Dialogs\SaveConfigDialog.cs:line 633

  6. Martin says:

    Hey, Rick!

    I possibly found a bug (either in Paint.NET or at least in my brain 🤣) while playing around with the Colors tool window:
    1. Enter “BAE0FF” into the hex textbox.
    2. Notice H’s value within the HSV section, it’s 206.
    3. Increase H’s value by 1 (via control’s spinner or cursor-up-key, doesn’t matter)
    4. Notice H’s value increases while Hex’s value does not.
    5. Decrease H’s value by 1 (again, spinner or cursor key, doesn’t matter)
    6. Notice both, H’s and Hex’s value, change, resulting in Hex’s value now being “BAE1FF”.

    Why’s that?

    Kind regards & stay healthy,
    Martin

  7. Bill says:

    I got the same stack using another piece of software and tracked it down to CopyTrans HEIC For Windows

            Access violation writing location 0x00000098B2C00FF8. occurred
    
        CopyTransHEICforWindows.dll!000000000072620d()  Unknown
        [Inline Frame] combase.dll!CreateInprocInstanceHelper(IClassFactory * pcf, unsigned long) Line 2679 C++
        combase.dll!ICoCreateInstanceEx(const _GUID & OriginalClsid, IUnknown * punkOuter, unsigned long dwClsCtx, _COSERVERINFO * pServerInfo, unsigned long dwCount, unsigned long dwActvFlags, tagMULTI_QI * pResults, ActivationPropertiesIn * pActIn) Line 2075    C++
        combase.dll!CComActivator::DoCreateInstance(const _GUID & Clsid, IUnknown * punkOuter, unsigned long dwClsCtx, _COSERVERINFO * pServerInfo, unsigned long dwCount, tagMULTI_QI * pResults, ActivationPropertiesIn * pActIn) Line 386    C++
        [Inline Frame] combase.dll!CoCreateInstanceEx(const _GUID &) Line 177   C++
        combase.dll!CoCreateInstance(const _GUID & rclsid, IUnknown * pUnkOuter, unsigned long dwContext, const _GUID & riid, void * * ppv) Line 121    C++
        WindowsCodecs.dll!CCodecInfo::CreateInstance()  Unknown
        WindowsCodecs.dll!CCodecFactory::HrArbitrateDecoderList()   Unknown
    >   WindowsCodecs.dll!CCodecFactory::HrCreateDecoderFromStreamInternalNew() Unknown
        WindowsCodecs.dll!CCodecFactory::CreateDecoderFromStream()  Unknown
    

Comments are closed.