diff --git a/qutebrowser/config/conftypes.py b/qutebrowser/config/conftypes.py index d90d696c2..9ec94089d 100644 --- a/qutebrowser/config/conftypes.py +++ b/qutebrowser/config/conftypes.py @@ -31,6 +31,9 @@ from PyQt5.QtNetwork import QNetworkProxy import qutebrowser.commands.utils as cmdutils +SYSTEM_PROXY = object() # Return value for Proxy type + + class ValidationError(ValueError): """Exception raised when a value for a config type was invalid. @@ -997,7 +1000,7 @@ class Proxy(BaseType): if not value: return None elif value == 'system': - return None + return SYSTEM_PROXY elif value == 'none': return QNetworkProxy(QNetworkProxy.NoProxy) url = QUrl(value) diff --git a/qutebrowser/network/proxy.py b/qutebrowser/network/proxy.py index 6fc586fb5..75513ca0f 100644 --- a/qutebrowser/network/proxy.py +++ b/qutebrowser/network/proxy.py @@ -20,6 +20,7 @@ """Handling of proxies.""" import qutebrowser.config.config as config +from qutebrowser.config.conftypes import SYSTEM_PROXY from PyQt5.QtNetwork import QNetworkProxyFactory @@ -43,9 +44,7 @@ class ProxyFactory(QNetworkProxyFactory): A list of QNetworkProxy objects in order of preference. """ proxy = config.get('network', 'proxy') - if proxy is None: - # config.get returns a QNetworkProxy for all cases, except when we - # should use the system proxy -- then it returns None. + if proxy is SYSTEM_PROXY: return QNetworkProxyFactory.systemProxyForQuery(query) else: return [proxy]