Jump to content

null54

Moderator
  • Posts

    1,975
  • Joined

  • Last visited

  • Days Won

    90

Posts posted by null54

  1. 2 hours ago, TrevorOutlaw said:

    would it be possible for your PS ABR script to be integrated into Smudge?

     

    Possibly, I would have to investigate it more.

    From a quick look at the Smudge plugin code on GitHub, the brush loading code would need a fairly extensive rewrite to handle formats other than PNG.

    • Like 1
  2. Release version 2.0.0.

    This release requires Paint.NET 5.0.

     

    Changes:

    • 8bf filters can now write outside of the selection.
      • Filters that do not request to render outside of the selection will have the output image clipped to the selection mask in post-processing.
      • Note that some filters may ignore the selection entirely (e.g. Luce 2).
    • 8bf filters now have access to the document DPI information.
    • 8bf filters now have access to the document EXIF and XMP metadata.
    • 8bf filters now have access to the document color profile.
    • PSFilterShim is now built as a self-contained .NET 7 application.
    • Fixed a bug with the selection mask scaling.
    • Fixed an issue with the floating selection mask that is used to display transparency in older filters.
    • The OS color picker dialog is now used instead of a custom Windows Forms-based dialog.
    • Improved the speed when searching for filters on startup.
    • Fixed the dialog high-DPI scaling.
    • Added a Diagnostics tab with various logging/troubleshooting items.
    • Like 3
    • Hooray 1
  3. This is related to the Content Aware File plugin crash reported at https://blog.getpaint.net/2022/12/20/paint-net-5-0-beta-build-8389-is-now-available/#comment-23249

     

    Repo steps:

    1. On the default 800x600 canvas create a small selection and fill it with black.
    2. Run the content aware fill plugin.
    3. It works when the selection is expanded by 50 pixels, but the plugin crashes when the selection is expanded by 100 pixels.

    In my test the following selections were used:

     

    Original selection bounds:  {X = 113 Y = 166 Width = 380 Height = 176}.

    The plugin's 100 pixel expanded selection bounds: {X = 13 Y = 66 Width = 580 Height = 376}.

    Exception details:

     

    Spoiler

    System.ArgumentOutOfRangeException
      HResult=0x80131502
      Message=Specified argument was out of the range of valid values. (Parameter 'bounds (0,0,580,376) is not valid (0,0,593,342)')
      Source=PaintDotNet.Primitives
      StackTrace:
       at PaintDotNet.RegionPtr`1.SliceError(RectInt32 bounds)
       at PaintDotNet.RegionPtr`1.Slice(RectInt32 bounds)
       at PaintDotNet.RegionPtrExtensions.Slice[T](RegionPtr`1 region, SizeInt32 size)
       at PaintDotNet.Surface.CopySurface(ISurface`1 source, Rectangle sourceRoi)
       at PaintDotNet.Surface.CopySurface(Surface source, Rectangle sourceRoi)
       at ContentAwareFill.Resynthesizer..ctor(ResynthesizerParameters parameters, Surface source, MaskSurface targetMask, MaskSurface sourceMask, Rectangle sourceROI, Size croppedSourceSize, Action`1 progressCallback)
       at ContentAwareFill.ResynthesizerRunner.Run(Func`1 abortCallback, Action`1 progressCallback)
       at ContentAwareFill.ContentAwareFillConfigDialog.backgroundWorker_DoWork(Object sender, DoWorkEventArgs e)
       at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
       at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

     

    I think it could possibly be a bug in RegionPtr<T>.Slice, the same repo steps does not cause any error in PDN 4.3.12.

    • Like 1
  4. 4 hours ago, VcSaJen said:

    Are there any example *.jxl files that would cause crash?

     

    I have not seen any files that cause a crash when opening or saving, but I have encountered a crash when changing the encoder parameters in a debug build of the plugin.

     

    That warning is due to the fact that libjxl calls the C runtime abort() function as part of its error handling. Because of this libjxl could terminate the Paint.NET process if it encounters any unexpected error, e.g. out of memory or a corrupt file.

    The libjxl repository has an open issue related to removing the abort code: https://github.com/libjxl/libjxl/issues/1450

×
×
  • Create New...