Skip to content

Copying last image into cache removes last text fieldΒ #1666

Closed

Description

@IsenMc

Description
When copying the last image into cache with CTRL+C and placing it somewhere with CTRL+V, the last text field is not copied.

To Reproduce

  1. Open an empty image
  2. Add a text field with any text
  3. Add another text field with another text
  4. Mark all content with the selection tool
  5. Press CTRL+C
  6. Open Word/LibreOffice or any other tool where you can place an image
  7. Press CTRL+V
  8. Textfield 2 from Step 3 is gone

Additional Info
You can place a textfield with a random text content somewhere on the image as last action before marking and copying. It does what it should: It is not copied but the last one with sensefull content gets copied.

Version
Windows 11 23H2, Pinta 3.0.2

Activity

  1. added theissue type on Aug 13, 2025
  2. cameronwhite commented on Aug 16, 2025

    @cameronwhite
    Member

    I think the issue here is that the text tool isn't finalizing the text before selecting / copying. The re-editable shape tools do seem to finalize the shapes as expected in these cases though

  3. joshlupo commented on Sep 11, 2025

    @joshlupo

    This happens to me all the time and it would help a lot if it could fixed. I add text, copy the image, and then the text is not there.

  4. added this to the 3.1 milestone on Sep 12, 2025
  5. cameronwhite commented on Dec 17, 2025

    @cameronwhite
    Member

    Looking at this more closely, I'm not sure the text actually needs to be finalized to fix this.
    The real issue is that the Copy command only includes the primary surface of the layer and doesn't grab the contents of the associated re-editable sub-layers (the text layer, in this case). The "Copy Merged" command works fine with the text tool since it calls Document.GetLayersToPaint()

  6. IsenMc commented on Dec 17, 2025

    @IsenMc
    Author

    You are right, if you think in the logic of a software developer. But the users (like me) won't see the difference between those two layers directly. You wrote, that there is a re-editable sub-layer. I didn't recognize this layer until now and at the moment, I don't know how to change already placed texts. I also asked myself why there is a function of "copy merged" - due to the problem, that you don't directly see, that something is not merged already.
    So if you don't want to change it, maybe you should think about any kind of visuability of the "re-editable sub-layer" in my opinion.

  7. cameronwhite commented on Dec 17, 2025

    @cameronwhite
    Member

    My previous comment was more about implementation details for how Pinta can fix this - I agree that users should just be able to copy and have it work as they'd expect

  8. IsenMc commented on Dec 17, 2025

    @IsenMc
    Author

    I'm sorry for misunderstanding you. So you propose to exchange the "copy" command through the "copy merged" command? Or what exactly is your proposal?

  9. cameronwhite commented on Dec 17, 2025

    @cameronwhite
    Member

    The copy command would still be different from "copy merged", since "copy merged" copies all of the layers in the document whereas "copy" only deals with the current layer.
    However, I think "copy" should also be copying the hidden sub-layer that the unfinalized text is on, since to the user these appear as the same layer

  10. IsenMc commented on Dec 18, 2025

    @IsenMc
    Author

    Okay, now I got it. We have the visible layers a user can create. If you click "copy merged" you copy all these layers including the non-visible one. If you only click "copy" you only copy the currently visible layer without the non-visible one, what you propose to change so that the "copy" command also copies the non-visible layer.

  11. added a commit that references this issue on Dec 19, 2025
    6b796d4
  12. added a commit that references this issue on Dec 20, 2025
    17317a0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions