aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2018-06-26 07:58:04 +0300
committerOrgad Shaneh <orgads@gmail.com>2018-06-27 09:43:47 +0000
commitb82ffb917b914411962213ca9ff6412e0551a46b (patch)
tree4408d0e399f6e54e8a7891b23ef92a30bfa4e14d /src/libs/utils
parentcaff9f9aacd5190b1e067a2ca0a56a14f2fe6996 (diff)
VcsCommand: Block auto reload while a command is running
Git rebase is executed in the background, and it can change a file multiple times in a short period. If we reparse a file while this happens on Windows, Git fails to replace it, the rebase action fails and the repository becomes unstable (remains with a modified file). See discussion at https://github.com/git-for-windows/git/pull/1666 Task-number: QTCREATORBUG-15449 Change-Id: Iba40a770a1df2dfff0dd1c874c491dfbe1cceb58 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/libs/utils')
-rw-r--r--src/libs/utils/shellcommand.cpp1
-rw-r--r--src/libs/utils/shellcommand.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/libs/utils/shellcommand.cpp b/src/libs/utils/shellcommand.cpp
index 2c0cdee7337..05c515eabff 100644
--- a/src/libs/utils/shellcommand.cpp
+++ b/src/libs/utils/shellcommand.cpp
@@ -276,6 +276,7 @@ void ShellCommand::run(QFutureInterface<void> &future)
QString stdOut;
QString stdErr;
+ emit started();
if (d->m_progressParser)
d->m_progressParser->setFuture(&future);
else
diff --git a/src/libs/utils/shellcommand.h b/src/libs/utils/shellcommand.h
index c8bf38af111..eb3161e3a1e 100644
--- a/src/libs/utils/shellcommand.h
+++ b/src/libs/utils/shellcommand.h
@@ -154,6 +154,7 @@ public:
signals:
void stdOutText(const QString &);
void stdErrText(const QString &);
+ void started();
void finished(bool ok, int exitCode, const QVariant &cookie);
void success(const QVariant &cookie);