Plugins/VcsPlugins/vcsMercurial/BookmarksExtension/HgBookmarksInOutDialog.py

changeset 1256
885706dbb69f
parent 1251
d40491ba96ce
child 1260
9488a3aceb0e
diff -r e1d8a8a4d40c -r 885706dbb69f Plugins/VcsPlugins/vcsMercurial/BookmarksExtension/HgBookmarksInOutDialog.py
--- a/Plugins/VcsPlugins/vcsMercurial/BookmarksExtension/HgBookmarksInOutDialog.py	Wed Aug 31 18:44:04 2011 +0200
+++ b/Plugins/VcsPlugins/vcsMercurial/BookmarksExtension/HgBookmarksInOutDialog.py	Wed Aug 31 19:28:49 2011 +0200
@@ -67,11 +67,15 @@
         
         @param e close event (QCloseEvent)
         """
-        if self.process is not None and \
-           self.process.state() != QProcess.NotRunning:
-            self.process.terminate()
-            QTimer.singleShot(2000, self.process.kill)
-            self.process.waitForFinished(3000)
+        if self.__hgClient:
+            if self.__hgClient.isExecuting():
+                self.__hgClient.cancel()
+        else:
+            if self.process is not None and \
+               self.process.state() != QProcess.NotRunning:
+                self.process.terminate()
+                QTimer.singleShot(2000, self.process.kill)
+                self.process.waitForFinished(3000)
         
         e.accept()
     
@@ -114,6 +118,8 @@
             if out:
                 for line in out.splitlines():
                     self.__processOutputLine(line)
+                    if self.__hgClient.wasCanceled():
+                        break
             self.__finish()
         else:
             self.process.kill()

eric ide

mercurial