Skip to content

Conversation

@anntzer
Copy link
Contributor

@anntzer anntzer commented Jun 21, 2020

Figure.__init__ sets cachedRenderer to None, so it's awkward that
pickling and unpickling a figure completely removes the attribute,
causing obscure AttributeErrors.

Closes #17627. (Well, I can't actually repro the issue as reported -- I suspect it has something to do with interagg, i.e. pycharm -- but this should certainly get rid of the AttributeError.)

PR Summary

PR Checklist

  • Has Pytest style unit tests
  • Code is Flake 8 compliant
  • New features are documented, with examples if plot related
  • Documentation is sphinx and numpydoc compliant
  • Added an entry to doc/users/next_whats_new/ if major new feature (follow instructions in README.rst there)
  • Documented in doc/api/api_changes.rst if API changed in a backward-incompatible way

`Figure.__init__` sets cachedRenderer to None, so it's awkward that
pickling and unpickling a figure completely removes the attribute,
causing obscure AttributeErrors.
@tacaswell tacaswell added this to the v3.3.0 milestone Jun 22, 2020
@tacaswell tacaswell merged commit dd8bb2d into matplotlib:master Jun 22, 2020
meeseeksmachine pushed a commit to meeseeksmachine/matplotlib that referenced this pull request Jun 22, 2020
@anntzer anntzer deleted the uncache-renderer branch June 22, 2020 15:34
tacaswell added a commit that referenced this pull request Jun 22, 2020
…705-on-v3.3.x

Backport PR #17705 on branch v3.3.x (Keep cachedRenderer as None when pickling Figure.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AttributeError: 'Figure' object has no attribute '_cachedRenderer'

3 participants