Repository navigation
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is going to force a full re-render the next time the window paints itself no matter which canvas class was actually selected.
The advantage of doing this rather than `self.draw_idle8 that this won't trigger the repaint and redraw on its own?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this would be the same as before #25713.
Yes,
draw_idlewill add a timer and actually draw later; we don't want that in order to keep the fix for #5234.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@QuLogic Thanks for investigating this. On the side of mplcairo.qt I had the same issue, but took a slightly different approach to fix it (matplotlib/mplcairo@cd6d2ca): I stash the old renderer before calling print_figure, and then restore it at the end, which always saves the need for a redraw. Perhaps the same can be done here? (Not that I actually checked.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This suggests a more general change in that
print_figureshould always make a new canvas object even if the currently in-use canvas can technically save the format requested. This would simplify some of the logic a bit (I think) and would probably save a bunch of dpi changing work...