FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Accept LA icons for the toolbar by fgoudreault · Pull Request #25174 · matplotlib/matplotlib · GitHub

Repository navigation

Accept LA icons for the toolbar - #25174

Merged
tacaswell merged 4 commits into
matplotlib:mainfrom
fgoudreault:fix-25164
Feb 9, 2023
Merged

tacaswell merged 4 commits into
matplotlib:mainfrom
fgoudreault:fix-25164

Conversation

fgoudreault commented Feb 7, 2023 •
edited
Loading

Copy link
Copy Markdown
Contributor

PR Summary

Fixes #25164 by converting a PIL icon image to RGBA when loading it. Also created unittest to check the bug in the future.

PR Checklist

Documentation and Tests

  • Has pytest style unit tests (and pytest passes)
  • [ N/A ] Documentation is sphinx and numpydoc compliant (the docs should build without error).
  • [ N/A ] New plotting related features are documented with examples.

Release Notes

  • [ N/A ] New features are marked with a .. versionadded:: directive in the docstring and documented in doc/users/next_whats_new/
  • [ N/A ] API changes are marked with a .. versionchanged:: directive in the docstring and documented in doc/api/next_api_changes/
  • [ N/A ] Release notes conform with instructions in next_whats_new/README.rst or next_api_changes/README.rst

github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Thank you for opening your first PR into Matplotlib!

If you have not heard from us in a while, please feel free to ping @matplotlib/developers or anyone who has commented on the PR. Most of our reviewers are volunteers and sometimes things fall through the cracks.

You can also join us on gitter for real-time discussion.

For details on testing, writing docs, and our review process, please see the developer guide

We strive to be a welcoming and open project. Please follow our Code of Conduct.

jklymak changed the title Fix issue #25164 Accept LA icons for the toolbar Feb 7, 2023

jklymak left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Looks good. not sure, but should this be in test_backend_tools.py?

Comment thread lib/matplotlib/tests/test_backend_tk.py Outdated
Comment thread lib/matplotlib/tests/test_backend_tk.py Outdated
tacaswell added this to the v3.7.0 milestone Feb 7, 2023
jklymak marked this pull request as draft February 8, 2023 14:57

Copy link
Copy Markdown
Contributor Author

Looks good. not sure, but should this be in test_backend_tools.py?

I put the test in test_backend_tk.py as this was a bug related only to TkAgg AFAIK. The actual bug fix is in _backends/backend_tk.py.

jklymak commented Feb 8, 2023

Copy link
Copy Markdown
Member

Looks good. not sure, but should this be in test_backend_tools.py?

I put the test in test_backend_tk.py as this was a bug related only to TkAgg AFAIK. The actual bug fix is in _backends/backend_tk.py.

Thats probably fine, but is the same bug present in other backends?

Copy link
Copy Markdown
Contributor Author

Looks good. not sure, but should this be in test_backend_tools.py?

I put the test in test_backend_tk.py as this was a bug related only to TkAgg AFAIK. The actual bug fix is in _backends/backend_tk.py.

Thats probably fine, but is the same bug present in other backends?

As the bug stems from the backend_tk.py file It would seem the bug would only affect this backend. Additionally, I just tested with qtagg and PyQt6 and there is no bug on the main branch.

jklymak commented Feb 8, 2023

Copy link
Copy Markdown
Member

Thats great - however, does the test apply to the other backends? If so, perhaps better to put somewhere that all the backends get tested to increase our test coverage? BTW, I haven't checked all this, so feel free to tell me the test is definitely only useful for Tk and I'm happy to approve - we can always generalize the test later if you are not correct.

Copy link
Copy Markdown
Contributor Author

Indeed, this test could be applied to any backend! You are right that it would be more useful if I can parametrize the test for any backend. Although I am not familiar with the whole set of matplotlib unittests. Do you know if there are tests that parametrize over backends so that I can generalize the one I introduce here? Thanks

Copy link
Copy Markdown
Contributor Author

Indeed, this test could be applied to any backend! You are right that it would be more useful if I can parametrize the test for any backend. Although I am not familiar with the whole set of matplotlib unittests. Do you know if there are tests that parametrize over backends so that I can generalize the one I introduce here? Thanks

I used the parametrization defined in test_backends_interactive.py in order to get environments with different backends and run them in a subprocess helper function. The parametrization now gives ~13 tests for different configuration. I tested with pyqt6, pyside6 and pycairo installed in my environment and it seems to work. I couldn't make it work with pyqt5 and other pysides as I had trouble installing these packages.

Copy link
Copy Markdown
Contributor Author

Oh it seems there is a very similar bug in the wx backend seen on appveyor. I could reproduce it locally and fixed it. I'll push the fix.

anntzer commented Feb 8, 2023

Copy link
Copy Markdown
Contributor

Sorry for the conflicting informations, but I think this test should rather go into test_backends_interactive.py::_test_interactive_impl. This is because interactive tests are very, very slow to start up (as they need to be run into their own subprocess) so it is better to try and minimize the number of tests and do more in a single test. Probably we should better document this at the top of test_backends_interactive.py...

Copy link
Copy Markdown
Contributor Author

Sorry for the conflicting informations, but I think this test should rather go into test_backends_interactive.py::_test_interactive_impl. This is because interactive tests are very, very slow to start up (as they need to be run into their own subprocess) so it is better to try and minimize the number of tests and do more in a single test. Probably we should better document this at the top of test_backends_interactive.py...

Sure I'll move it there

fgoudreault marked this pull request as ready for review February 9, 2023 17:21
fgoudreault requested a review from jklymak February 9, 2023 17:21

jklymak left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

I'm not an expert on how the tests are structures (obviously 🐑), but this looks good to me. Perhaps @anntzer will have a minute for a second review.

tacaswell left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Modulo sorting out the extra try/except added in the test.

tacaswell merged commit 6f753cd into matplotlib:main Feb 9, 2023
meeseeksmachine pushed a commit to meeseeksmachine/matplotlib that referenced this pull request Feb 9, 2023

Copy link
Copy Markdown
Member

Thank you for your work on this @fgoudreault and congratulations on your first merged Matplotlib PR 🎉 I hope we hear from you again!

Copy link
Copy Markdown
Contributor Author

Thank you for your work on this @fgoudreault and congratulations on your first merged Matplotlib PR tada I hope we hear from you again!

The pleasure is mine! Thanks to all for your time!

tacaswell added a commit that referenced this pull request Feb 9, 2023
…174-on-v3.7.x

Backport PR #25174 on branch v3.7.x (Accept LA icons for the toolbar)
ksunden mentioned this pull request Feb 20, 2023
6 tasks
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

Projects

Development

Successfully merging this pull request may close these issues.

[Bug]: LA image mode not working anymore for custom toolbar buttons

5 participants


Back | FazBrowse Home | New Git URL