Plugins/VcsPlugins/vcsMercurial/HgAnnotateDialog.py

changeset 1256
885706dbb69f
parent 1250
dafdd7d97a9f
child 1260
9488a3aceb0e
equal deleted inserted replaced
1255:e1d8a8a4d40c 1256:885706dbb69f
63 """ 63 """
64 Private slot implementing a close event handler. 64 Private slot implementing a close event handler.
65 65
66 @param e close event (QCloseEvent) 66 @param e close event (QCloseEvent)
67 """ 67 """
68 if self.process is not None and \ 68 if self.__hgClient:
69 self.process.state() != QProcess.NotRunning: 69 if self.__hgClient.isExecuting():
70 self.process.terminate() 70 self.__hgClient.cancel()
71 QTimer.singleShot(2000, self.process.kill) 71 else:
72 self.process.waitForFinished(3000) 72 if self.process is not None and \
73 self.process.state() != QProcess.NotRunning:
74 self.process.terminate()
75 QTimer.singleShot(2000, self.process.kill)
76 self.process.waitForFinished(3000)
73 77
74 e.accept() 78 e.accept()
75 79
76 def start(self, fn): 80 def start(self, fn):
77 """ 81 """
111 if err: 115 if err:
112 self.__showError(err) 116 self.__showError(err)
113 if out: 117 if out:
114 for line in out.splitlines(): 118 for line in out.splitlines():
115 self.__processOutputLine(line) 119 self.__processOutputLine(line)
120 if self.__hgClient.wasCanceled():
121 break
116 self.__finish() 122 self.__finish()
117 else: 123 else:
118 self.process.kill() 124 self.process.kill()
119 self.process.setWorkingDirectory(repodir) 125 self.process.setWorkingDirectory(repodir)
120 126

eric ide

mercurial