Fix memory management for PenInputHandler::sequenceStartPage #5433
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.
Fixes #5400
For now, this is just a patch that will prevent a very specific segmentation fault mentioned above from happening. It is only an addition to what already exists, and as such not a complete cure of the root cause. At least the bug described in the issue is solved.
I do intend to look where there may be other places where we should use the new functions as well.
Any comments welcome
But specifically, input on the following points would be appreciated:
std::shared_ptr<XojPageView> Layout::getPageViewRefAt()
alongsideXojPageView* Layout::getPageViewAt()
. Does that make sense ? Technically, I believe it would be possible at any time that theXournalView
(which owns the page views) gets destroyed even if we had just requested the page view. But using a shared_ptr for everything doesn't seem right either.const std::shared_ptr<XojPageView>&
would feel more appropriate, but would also require a ton of other changes and look very much out of place.