--- a/eric6/WebBrowser/Network/QtHelpSchemeHandler.py Sat Oct 10 15:17:29 2020 +0200 +++ b/eric6/WebBrowser/Network/QtHelpSchemeHandler.py Sat Oct 10 16:03:53 2020 +0200 @@ -12,12 +12,14 @@ import os from PyQt5.QtCore import ( - pyqtSignal, QByteArray, QIODevice, QBuffer, QMutex, QMutexLocker + pyqtSignal, QByteArray, QIODevice, QBuffer, QMutex ) from PyQt5.QtWebEngineCore import ( QWebEngineUrlSchemeHandler, QWebEngineUrlRequestJob ) +from E5Utilities.E5MutexLocker import E5MutexLocker + QtDocPath = "qthelp://org.qt-project." ExtensionMap = { @@ -169,11 +171,10 @@ """</html>""").format(url.toString()) .encode("utf-8")) - lock = QMutexLocker(self.__mutex) - self.__buffer.setData(data) - self.__buffer.open(QIODevice.ReadOnly) - self.open(QIODevice.ReadOnly) - lock.unlock() + with E5MutexLocker(self.__mutex): + self.__buffer.setData(data) + self.__buffer.open(QIODevice.ReadOnly) + self.open(QIODevice.ReadOnly) self.readyRead.emit() @@ -184,8 +185,8 @@ @return number of available bytes @rtype int """ - lock = QMutexLocker(self.__mutex) # __IGNORE_WARNING__ - return self.__buffer.bytesAvailable() + with E5MutexLocker(self.__mutex): + return self.__buffer.bytesAvailable() def readData(self, maxlen): """ @@ -194,8 +195,8 @@ @param maxlen maximum number of bytes to read (integer) @return string containing the data (bytes) """ - lock = QMutexLocker(self.__mutex) # __IGNORE_WARNING__ - return self.__buffer.read(maxlen) + with E5MutexLocker(self.__mutex): + return self.__buffer.read(maxlen) def close(self): """