Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import layers from PCLX keeping reference to the layer object instead of copying on successive import #1427

Jose-Moreno opened this issue Aug 16, 2020 · 2 comments · Fixed by #1430
Bug File Import UX Related to the way users interact with the program


Copy link

Jose-Moreno commented Aug 16, 2020

Issue Summary

When you use the Import Layers from PCLX feature if you want to import a certain layer more than once (for example when importing a walk cycle for looping) your first reflex is that when you open the import dialog and load the reference project file, you can select a layer and press "import layers" as many times as you want. However doing this will load the same object as a reference into new layers and when you move one of them, the others move as well.

While this could be interesting for a future development where we can finally have multiple instances of a file inside another file, in the current workflow it's not ideal as you want to manipulate the layer objects separately even if they are referencing the same resources.

If you import the layer once, close the dialog and invoke the import dialog again this problem will not occur and the layer will be imported as a new layer object..

Expected Results

Importing the same layer multiple times in a single import action is valid and the layer objects that are created are independent form each other.

Video or Image Reference

Steps to reproduce

  1. Create a file with any given amount of frames and save it as PCLX (PCL doesn't work at the moment)
  2. Create a new file
  3. Go to File > Import > Import Layers from PCLX...
  4. On the dialog load the PCLX you created in step 1
  5. The layer section will be populated. Select the layer that has the keyframes
  6. Press the import button once but don't close the dialog! Notice that the layer has been imported into the Pencil2D project.
  7. Now press import layers two more times (this is only to see the effect clearly, you can only import it once more if you want)
  8. Close the dialog
  9. Now select a keyframe in any of the imported layers, now you'll see that the other layers are selected on the same keyframe. If you select multiple keyframes this will be visible on all imported layers. And if you move them all the layer keyframes will move accordingly.
  10. After some time, if you mess up and move the keyframes erroneously, Pencil2D might crash so be careful.

System Information

  • Pencil2D Version:
    Version: 0.6.5

commit: 50a0c7c
date: 2020-08-01_01:32:15

Operating System: Windows 10 (10.0)
CPU Architecture: x86_64
Qt Version: 5.12.9

@Jose-Moreno Jose-Moreno added Bug UX Related to the way users interact with the program Import/Export labels Aug 16, 2020
Copy link
Member Author

Jose-Moreno commented Aug 17, 2020

I forgot to mention that if you import the same layer various times like in the reproduction steps, so the layer object is instanced multiple times, and you go to File > New, Pencil2D will crash consistently.

@davidlamhauge davidlamhauge self-assigned this Aug 17, 2020
Copy link

davidlamhauge commented Aug 17, 2020

When I made this, I couldn't see why anyone would want to import the same layer twice. That's why I didn't discover the bug.
I've assigned myself, and will look into it soon.

@chchwy chchwy added this to the 0.6.6 milestone Aug 25, 2020
@Jose-Moreno Jose-Moreno added this to High priority in Bug Fix Priority Aug 30, 2020
Bug Fix Priority automation moved this from High priority to Closed Sep 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Bug File Import UX Related to the way users interact with the program
Bug Fix Priority

Successfully merging a pull request may close this issue.

3 participants