Changed the URL interceptor to properly lock the mutex.

Sun, 11 Feb 2018 16:03:15 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 11 Feb 2018 16:03:15 +0100
changeset 6131
1ecd0c53e117
parent 6130
9a3906c94d3c
child 6132
0b5bf5d0c317

Changed the URL interceptor to properly lock the mutex.

WebBrowser/Network/NetworkUrlInterceptor.py file | annotate | diff | comparison | revisions
--- 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")
     

eric ide

mercurial