diff -r 49f3377aebf1 -r 787a6b3f8c9f eric6/E5Network/E5XmlRpcClient.py --- a/eric6/E5Network/E5XmlRpcClient.py Fri Oct 09 17:19:29 2020 +0200 +++ b/eric6/E5Network/E5XmlRpcClient.py Sat Oct 10 12:20:51 2020 +0200 @@ -10,7 +10,8 @@ import xmlrpc.client as xmlrpc -from PyQt5.QtCore import QObject, QUrl, QByteArray +from PyQt5.QtCore import Qt, QObject, QUrl, QByteArray, QEventLoop +from PyQt5.QtGui import QGuiApplication, QCursor from PyQt5.QtNetwork import ( QNetworkAccessManager, QNetworkRequest, QNetworkReply ) @@ -77,6 +78,9 @@ if not isinstance(args, tuple): raise TypeError("argument 'args' must be tuple") + QGuiApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) + QGuiApplication.processEvents(QEventLoop.ExcludeUserInputEvents) + data = xmlrpc.dumps(args, method).encode("utf-8") reply = self.__networkManager.post( self.__request, QByteArray(data)) @@ -97,6 +101,9 @@ @param reply reference to the reply object (QNetworkReply) @param errors list of SSL errors (list of QSslError) """ + QGuiApplication.restoreOverrideCursor() + QGuiApplication.processEvents(QEventLoop.ExcludeUserInputEvents) + ignored = self.__sslErrorHandler.sslErrorsReply(reply, errors)[0] if ignored == E5SslErrorHandler.NotIgnored and reply in self.__callmap: self.__callmap[reply][1](xmlrpc.TRANSPORT_ERROR, self.tr( @@ -111,6 +118,9 @@ if reply not in self.__callmap: return + QGuiApplication.restoreOverrideCursor() + QGuiApplication.processEvents(QEventLoop.ExcludeUserInputEvents) + if reply.error() != QNetworkReply.NoError: self.__callmap[reply][1](xmlrpc.TRANSPORT_ERROR, reply.errorString())