diff options
author | Florian Bruhin <git@the-compiler.org> | 2017-10-16 06:18:09 +0200 |
---|---|---|
committer | Florian Bruhin <git@the-compiler.org> | 2017-10-16 06:18:29 +0200 |
commit | 45c75d5e04b2640aa720b959e74b8913c5fc78e5 (patch) | |
tree | 8fec1fb2880a532e436c5a6999039d2d188469ba | |
parent | 9404c61f106daba97514900f74a840ba7fb1759c (diff) | |
download | qutebrowser-45c75d5e04b2640aa720b959e74b8913c5fc78e5.tar.gz qutebrowser-45c75d5e04b2640aa720b959e74b8913c5fc78e5.zip |
Fix setting monospace fonts with None values
Fixes #3130
(cherry picked from commit 2a65cadb67ec8ec1792e5e6f90b770ae82e6b221)
-rw-r--r-- | qutebrowser/config/configinit.py | 4 | ||||
-rw-r--r-- | tests/unit/config/test_configinit.py | 9 |
2 files changed, 12 insertions, 1 deletions
diff --git a/qutebrowser/config/configinit.py b/qutebrowser/config/configinit.py index c76efba00..027aedb04 100644 --- a/qutebrowser/config/configinit.py +++ b/qutebrowser/config/configinit.py @@ -104,7 +104,9 @@ def _update_monospace_fonts(): continue elif not isinstance(opt.typ, configtypes.Font): continue - elif not config.instance.get_obj(name).endswith(' monospace'): + + value = config.instance.get_obj(name) + if value is None or not value.endswith(' monospace'): continue config.instance.changed.emit(name) diff --git a/tests/unit/config/test_configinit.py b/tests/unit/config/test_configinit.py index 820b03a38..1501b794d 100644 --- a/tests/unit/config/test_configinit.py +++ b/tests/unit/config/test_configinit.py @@ -258,6 +258,15 @@ class TestEarlyInit: # Font subclass, but doesn't end with "monospace" assert 'fonts.web.family.standard' not in changed_options + def test_setting_monospace_fonts_family(self, init_patch, args): + """Make sure setting fonts.monospace after a family works. + + See https://github.com/qutebrowser/qutebrowser/issues/3130 + """ + configinit.early_init(args) + config.instance.set_str('fonts.web.family.standard', '') + config.instance.set_str('fonts.monospace', 'Terminus') + def test_force_software_rendering(self, monkeypatch, config_stub): """Setting force_software_rendering should set the environment var.""" envvar = 'QT_XCB_FORCE_SOFTWARE_OPENGL' |