Fix vector layer color import#1798
Merged
J5lx merged 3 commits intopencil2d:masterfrom Nov 25, 2023
Merged
Conversation
MrStevns
approved these changes
Nov 25, 2023
Member
MrStevns
left a comment
There was a problem hiding this comment.
Excellent work figuring out that crash and how to fix it!
I also like the removal of Object in Layer, as I find that LayerManager fulfill that responsibility.
I've looked through the changes and I think they all look good. Feel free to merge when you're satisfied with the PR.
Member
Author
|
Thanks for reviewing! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This fixes the crash reported over here on the forum. The crash was caused by the dangling pointer to the imported file’s
Objectdereferenced in the vector paint code in order to resolve colour indices.This PR completely removes
Objectpointers from the vector classes and instead passes the object as a parameter at paint time. (Tbh I’m also thinking about splitting out the painting code altogether, but I didn’t want to let myself get derailed.) It also removesObjectpointers from layer classes, which only used it in the constructor andsetObjectto generate layer ids, and instead passes those ids directly.Lastly, a proper colour import mechanism for vector layer import is implemented as well.