Correction to FontError exception in mainwindow.py - #26144
Open
Boohoolean wants to merge 2 commits into
Open
Conversation
FontError provides a list of missing fonts that must be installed for all users to start Spyder, however this list is incomplete. If all the fonts on the list are installed for all users, the same error is still thrown and spyder fails to start. The cause lies in utils\icon_manager.py which includes a qta.load_font for spyder.ttf, which will silently fail when font installation rights are missing for the user. This change addresses this by changing the error message. It still provides the original list and location of fonts, but additionally informs the user that the spyder.ttf font must also be installed, and where it can be found.
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
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.
Description of Changes
Changed the FontError exception to also inform the user spyder.ttf font must be installed.
If a system is configured to disallow untrusted fonts, and the Fonts spyder uses have not been installed for all users, FontError in mainwindow.py provides a list of missing QT fonts that must be installed for all users to start Spyder. This list is incomplete, as detailed in issue #26143.
If all the fonts on the list are installed for all users, the same error is still thrown and spyder fails to start. The cause lies in utils\icon_manager.py which includes a qta.load_font call for spyder.ttf, which will silently fail when font installation rights are missing for the user and the loading of untrusted fonts is disabled in group policy.
This change addresses this problem by changing the error message as created in mainwindow.py.

The message still provides the original font list and location, but additionally informs the user that the spyder.ttf font must also be installed, and where it can be found.
Screenshot of the new error message:
Issue(s) Resolved
Fixes #26143
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.
the above statement is true and correct:
Boohoolean