Paint.NET v3.5.6 … let’s fix a few more bugs

Contrary to what I said last week or so, I’ve decided to fix more than just 1 bug in the upcoming Paint.NET v3.5.6, and also to port a few other minor improvements from the v4.0 code base. Right now this is in private testing, and hopefully I’ll have another beta soon.

Here’s what I’m planning on:

  • The dreaded “red X” thumbnail bug. As it turns out, if you install the DirectX SDK, it stomps on Paint.NET’s thumbnail handler (it’s a shell extension for Windows Explorer). This has been plaguing me for over a year, and I’ve finally fixed it. Thanks go out to luck, guessing, and Sysinternals’ Process Monitor.
  • When saving an image (such as a JPEG), the EXIF metadata for “Creation Software” is no longer localized. This prevents some languages seeing “Paint.NET ?????? 3.5.5” in a saved image’s metadata.
  • Some performance and quality improvements to the Curves and Hue/Saturation adjustments, courtesy of Ed Harvey.
  • Copy and Paste! There are many scenarios that I’m fixing or improving…
    • It’ll be smarter about positioning the pasted image into the viewport (the portion of the image that is scrolled and zoomed to), instead of always jamming everything to the top-left of the image, which was forcing you to madly scroll around when pasting a bunch of stuff together.
    • When copy-pasting from Remote Desktop, the pasted image will no longer be shifted to the right by 3 pixels. This is a bug in WinForms that I’m working around, and was a bit crazy to fix.
    • Pasting from Internet Explorer or Firefox will preserve alpha. For IE9, it actually gives me a link to the file in its download cache, so I can just load that directly. For Firefox, it places a bitmap with the pixel format set to 32-bpp RGB (“no alpha”). However, it lies … so I detect when I should interpret it as 32-bit ARGB instead.
    • If you have a multi-monitor setup, and those monitors don’t form a simple rectangle, then the “gap area” will be pasted as transparent instead of black. As an example, I have two 24″ monitors. The left-hand one is 1920×1200, while the right-hand one is rotated so it is 1200×1920. If you take the bounding box, you have a rectangle where neither monitor has any representation, and this is the “gap area” (or maybe there’s a more precise term, but oh well).
  • I’m also planning to fix the issue where a JPEG is loaded that has an embedded thumbnail, then the image is modified, and then the image is saved again … but with an out-of-date thumbnail. This happens because Paint.NET “blindly” carries along all the EXIF metadata in an image (normally a good policy).
  • Some minor performance and memory usage improvements. It should improve reliability on 32-bit systems, especially when using the magic wand with complex selections.
Advertisement

12 thoughts on “Paint.NET v3.5.6 … let’s fix a few more bugs

  1. Lionel says:

    > For Firefox, it places a bitmap with the pixel format set to 32-bpp RGB
    > (“no alpha”). However, it lies … so I detect when I should interpret it as
    > 32-bit ARGB instead.

    Did you also report the bug in Firefox, in order to get it fixed?

      • Rick Brewster says:

        Actually I guess it’s not so much that Firefox “lies”. It only places a CF_DIB onto the clipboard which is incapable of encoding alpha information. Once GDI+ gets its hands on it, it gives me a System.Drawing.Bitmap whose PixelFormat is PixelFormat.Format32bppRgb.

        A CF_DIBV5 can support alpha by setting the bV5AlphaMask, when the bitcount is 32.

        In either case, it’s still questionable whether this will work well, since the clipboard doesn’t always play nice when it comes to bitmaps that have alpha.

        I don’t have an account on Firefox’s Bugzilla, nor am I really going to create one, otherwise I’d put more detailed info in the bug you filed.

      • Rick Brewster says:

        For additional context, Google Chrome does put a CF_DIBV5 on the clipboard. But then of course it sets the alpha mask to zero instead of 0xff000000. Fun!

  2. clem says:

    (exif JPG thumbnail) – aweome! thanks for fixing that, drove me crazy when putting my pics on my mp3 player which relied on the thumbnails 🙂

  3. Sean says:

    Thanks Rick!

    Any chance you could fix Paint.net so that it will paste into Windows Live Writer 2011? It may be a bug on their side, but I hate having to use MS-Paint when blogging 😦

  4. John Dangerbrooks says:

    Good work, Rick. I was worried…

    By the way, I have recently noticed that Paint.NET can write right to left text too (like Hebrew and Arabic) but cannot set their writing direction to right to left. (It does not respond to “Right Ctrl + Right Shift” key combination.) Microsoft Paint is okay though.

  5. Grijan says:

    The tweak for the updated JPEG thumbnails is nice: it will free me from running EXIFTool to remove the outdated thumbnails on every edited picture. The performance improvements with complex selections are really good news: I use complex selections to zone-process pictures, and some selections made Paint.NET crawl. Thanks!

Comments are closed.