darktable-org / darktable

darktable is an open source photography workflow application and raw developer
https://www.darktable.org
GNU General Public License v3.0
9.52k stars 1.12k forks source link

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

Open lintujuh opened 1 year ago

lintujuh commented 1 year ago

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).

lintujuh commented 1 year ago

I had now time to build and test the same issue on Fedora, and the copy-p _5210952.ORF.zip aste worked correctly. I also cross-checked that if I did the copy-paste on Linux, did it display correctly on Windows (yes); and copy-paste on Windows, and displaying on Linux (error).

Here are the xmp files 01 is the orginal and 02 is the copy.

The obvious difference is the empty masks_history in 02. 01

   <darktable:masks_history>
    <rdf:Seq>
     <rdf:li
      darktable:mask_num="17"
      darktable:mask_id="1684853234"
      darktable:mask_type="1"
      darktable:mask_name="circle #1"
      darktable:mask_version="6"
      darktable:mask_points="8fd4083f35a3ea3ebc0df43c2657b13b"
      darktable:mask_nb="1"
      darktable:mask_src="0000000000000000"/>
     <rdf:li
      darktable:mask_num="17"
      darktable:mask_id="1684853236"
      darktable:mask_type="4"
      darktable:mask_name="group `exposure • 1'"
      darktable:mask_version="6"
      darktable:mask_points="f2d16c64f4d16c64030000000000803f"
      darktable:mask_nb="1"
      darktable:mask_src="0000000000000000"/>
    </rdf:Seq>
   </darktable:masks_history>

02

   <darktable:masks_history>
    <rdf:Seq/>
   </darktable:masks_history>

(updated with the differing part)

github-actions[bot] commented 1 year ago

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.

github-actions[bot] commented 3 months ago

This issue was closed because it has been inactive for 300 days since being marked as stale. Please check if the newest release or nightly build has it fixed. Please, create a new issue if the issue is not fixed.

github-actions[bot] commented 1 month ago

This issue has been marked as stale due to inactivity for the last 60 days. It will be automatically closed in 300 days if no update occurs. Please check if the master branch has fixed it and report again or close the issue.