diff --git a/src/libs/utils/synchronousprocess.cpp b/src/libs/utils/synchronousprocess.cpp index 77a90f9d12a9e8e70b80feb64ac5fdb68bd1ff09..31abaa6cfc0c41ef43edfeb5443d78b5b36ca673 100644 --- a/src/libs/utils/synchronousprocess.cpp +++ b/src/libs/utils/synchronousprocess.cpp @@ -38,6 +38,8 @@ #include <QtGui/QApplication> +#include <limits.h> + enum { debug = 0 }; enum { defaultMaxHangTimerCount = 10 }; @@ -167,12 +169,16 @@ SynchronousProcess::~SynchronousProcess() void SynchronousProcess::setTimeout(int timeoutMS) { - m_d->m_maxHangTimerCount = qMax(2, timeoutMS / 1000); + if (timeoutMS >= 0) { + m_d->m_maxHangTimerCount = qMax(2, timeoutMS / 1000); + } else { + m_d->m_maxHangTimerCount = INT_MAX; + } } int SynchronousProcess::timeout() const { - return 1000 * m_d->m_maxHangTimerCount; + return m_d->m_maxHangTimerCount == INT_MAX ? -1 : 1000 * m_d->m_maxHangTimerCount; } void SynchronousProcess::setStdOutCodec(QTextCodec *c) diff --git a/src/plugins/vcsbase/basecheckoutwizard.h b/src/plugins/vcsbase/basecheckoutwizard.h index a8091b2002401b219c84594516668030842b682b..51ea090caf1f57f2df1abd1ab0ecfde37aaa3cb2 100644 --- a/src/plugins/vcsbase/basecheckoutwizard.h +++ b/src/plugins/vcsbase/basecheckoutwizard.h @@ -73,6 +73,8 @@ public: virtual QStringList runWizard(const QString &path, QWidget *parent); + static QString openProject(const QString &path, QString *errorMessage); + protected: virtual QWizardPage *createParameterPage(const QString &path) = 0; virtual QSharedPointer<AbstractCheckoutJob> createJob(const QWizardPage *parameterPage, @@ -82,8 +84,6 @@ private slots: void slotProgressPageShown(); private: - QString openProject(const QString &path, QString *errorMessage); - BaseCheckoutWizardPrivate *d; };