darktable-org / darktable-org/darktable

Copy-pasting history stack doesn't paste shape masks in modules

Open
#14,534 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

no-issue-activity scope: UI scope: windows support
Dominant language
C
Stars
13.1k
Forks
1.4k
Avg merge
22h 14m
Merged PRs (30d)
198

Description

Describe the bug

Copy-pasting history stack doesn't paste shape masks in modules. The parametric mask is copied, but the shape is not copied. When opening the module in darkroom, there it states in drawn mask: no mask used. This also applies to retouch module, where the retouching shapes are not copied.

Steps to reproduce
  1. Open an image and add a module where you also apply a geometric mask
  2. Create a duplicate of the image and erase the history stack
  3. Copy-paste the history stack from the first image to the second
  4. See the difference, the module is applied to the full image, not only the restricted area
Expected behavior

The geometric masks should be copy-pasted with the associated modules

Logfile | Screenshot | Screencast

image
The first image has a second exposure module applied with a geometric mask (see the dark spot). The second image has the history stack copy-pasted. The full image is darker, not only the spot in the middle.

Commit

No response

Where did you install darktable from?

self compiled

darktable version

4.3.0+2328

What OS are you using?

Windows

What is the version of your OS?

11 Enterprise 22H2

Describe your system?

No response

Are you using OpenCL GPU in darktable?

Yes

If yes, what is the GPU card and driver?

No response

Please provide additional context if applicable. You can attach files too, but might need to rename to .txt or .zip

I haven't been able to test as I have build issues with my Fedora 38 (#14527).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the history-stack copy/paste workflow with a geometric mask, including a retouch module, using the listed steps. No source file, test, or entry point is named, so trace the history-stack copy/paste path and the associated module mask data. Done means copied modules retain their geometric or retouch shapes when pasted and the existing behavior is covered by a regression test.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
computer-graphics, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.