| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
The issue is that TransformedPath only regenerates its cache for changes to the non-affine part of the transform. When TransformWrapper for tranScale changes from log -> linear the non-affine part of the log transform is still cached, but when the transforms are invalidated after switching to linear the invalidation only reports changing the affine part so the cache in TransformedPath escapes being updated (nulled out in this case) and when we re-draw with linear is drawing the line off screen (or at least clipped). This change invalidates all of the parents before changing the internals of TransformWrapper before we switch it which will cause the non-affine part to be correctly recomputed the next time we need it. closes matplotlib#25124
|
also, like 2 hours of debugging to change 1 line of code 🤣 |
Sorry, something went wrong.
…parents before swapping
…126-on-v3.7.x Backport PR #25126 on branch v3.7.x (FIX: fully invalidate TransformWrapper parents before swapping)
| Back | FazBrowse Home | New Git URL |
PR Summary
The issue is that TransformedPath only regenerates its cache for changes to the non-affine part of the transform. When TransformWrapper for tranScale changes from log -> linear the non-affine part of the log transform is still cached, but when the transforms are invalidated after switching to linear the invalidation only reports changing the affine part so the cache in TransformedPath escapes being updated (nulled out in this case) and when we re-draw with linear is drawing the line off screen (or at least clipped).
This change invalidates all of the parents before changing the internals of TransformWrapper before we switch it which will cause the non-affine part to be correctly recomputed the next time we need it.
closes #25124
PR Checklist
Documentation and Tests