Fix AttributeError on config changes on Ubuntu.

Fixes #390.
This commit is contained in:
Florian Bruhin 2014-12-26 12:25:42 +01:00
parent df3d41eb66
commit 5d0dd5b11b

View File

@ -20,6 +20,7 @@
"""The main browser widgets.""" """The main browser widgets."""
import itertools import itertools
import functools
from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QTimer, QUrl from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QTimer, QUrl
from PyQt5.QtWidgets import QApplication from PyQt5.QtWidgets import QApplication
@ -96,7 +97,13 @@ class WebView(QWebView):
self._zoom = None self._zoom = None
self._has_ssl_errors = False self._has_ssl_errors = False
self.init_neighborlist() self.init_neighborlist()
objreg.get('config').changed.connect(self.init_neighborlist) config = objreg.get('config')
config.changed.connect(self.init_neighborlist)
# For some reason, this signal doesn't get disconnected automatically
# when the WebView is destroyed on older PyQt versions.
# See https://github.com/The-Compiler/qutebrowser/issues/390
self.destroyed.connect(functools.partial(
config.changed.disconnect, self.init_neighborlist))
self._cur_url = None self._cur_url = None
self.cur_url = QUrl() self.cur_url = QUrl()
self.progress = 0 self.progress = 0