eric6/Plugins/VcsPlugins/vcsPySvn/SvnBlameDialog.py

changeset 7774
9eed155411f0
parent 7360
9190402e4505
child 7780
41420f82c0ac
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnBlameDialog.py	Sat Oct 10 15:17:29 2020 +0200
+++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnBlameDialog.py	Sat Oct 10 16:03:53 2020 +0200
@@ -12,11 +12,13 @@
 
 import pysvn
 
-from PyQt5.QtCore import QMutexLocker, Qt
+from PyQt5.QtCore import Qt
 from PyQt5.QtWidgets import (
     QHeaderView, QDialog, QDialogButtonBox, QTreeWidgetItem
 )
 
+from E5Utilities.E5MutexLocker import E5MutexLocker
+
 from .SvnDialogMixin import SvnDialogMixin
 from .Ui_SvnBlameDialog import Ui_SvnBlameDialog
 
@@ -67,12 +69,11 @@
         
         dname, fname = self.vcs.splitPath(fn)
         
-        locker = QMutexLocker(self.vcs.vcsExecutionMutex)
         cwd = os.getcwd()
         os.chdir(dname)
         try:
-            annotations = self.client.annotate(fname)
-            locker.unlock()
+            with E5MutexLocker(self.vcs.vcsExecutionMutex):
+                annotations = self.client.annotate(fname)
             for annotation in annotations:
                 author = annotation["author"]
                 line = annotation["line"]
@@ -80,7 +81,6 @@
                     annotation["revision"].number, author,
                     annotation["number"] + 1, line)
         except pysvn.ClientError as e:
-            locker.unlock()
             self.__showError(e.args[0] + '\n')
         self.__finish()
         os.chdir(cwd)

eric ide

mercurial