--- a/WebBrowser/Network/NetworkUrlInterceptor.py Sun Feb 11 16:01:47 2018 +0100 +++ b/WebBrowser/Network/NetworkUrlInterceptor.py Sun Feb 11 16:03:15 2018 +0100 @@ -10,6 +10,7 @@ from __future__ import unicode_literals +from PyQt5.QtCore import QMutex, QMutexLocker from PyQt5.QtWebEngineCore import QWebEngineUrlRequestInterceptor from ..WebBrowserPage import WebBrowserPage @@ -31,6 +32,7 @@ super(NetworkUrlInterceptor, self).__init__(parent) self.__interceptors = [] + self.__mutex = QMutex() self.__loadSettings() @@ -41,6 +43,8 @@ @param info URL request information @type QWebEngineUrlRequestInfo """ + locker = QMutexLocker(self.__mutex) # __IGNORE_WARNING__ + # Do Not Track feature if self.__doNotTrack: info.setHttpHeader(b"DNT", b"1") @@ -65,6 +69,8 @@ @param interceptor URL interceptor to be installed @type UrlInterceptor """ + locker = QMutexLocker(self.__mutex) # __IGNORE_WARNING__ + if interceptor not in self.__interceptors: self.__interceptors.append(interceptor) @@ -75,6 +81,8 @@ @param interceptor URL interceptor to be removed @type UrlInterceptor """ + locker = QMutexLocker(self.__mutex) # __IGNORE_WARNING__ + if interceptor in self.__interceptors: self.__interceptors.remove(interceptor) @@ -82,6 +90,8 @@ """ Private method to load the Network Manager settings. """ + locker = QMutexLocker(self.__mutex) # __IGNORE_WARNING__ + self.__doNotTrack = Preferences.getWebBrowser("DoNotTrack") self.__sendReferer = Preferences.getWebBrowser("SendReferer")