diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index bb27590aaf6bef981734171cf67c81977556c04b..f70b3438c2acbe9494b040d2a2ea2a0d7eb1e531 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -2383,12 +2383,12 @@ unsigned GitClient::synchronousGitVersion(QString *errorMessage) const } // cut 'git version 1.6.5.1.sha' const QString output = commandOutputFromLocal8Bit(outputText); - QRegExp versionPattern(QLatin1String("^[^\\d]+([\\d])\\.([\\d])\\.([\\d]).*$")); + QRegExp versionPattern(QLatin1String("^[^\\d]+(\\d+)\\.(\\d+)\\.(\\d+).*$")); QTC_ASSERT(versionPattern.isValid(), return 0); QTC_ASSERT(versionPattern.exactMatch(output), return 0); - const unsigned major = versionPattern.cap(1).toUInt(); - const unsigned minor = versionPattern.cap(2).toUInt(); - const unsigned patch = versionPattern.cap(3).toUInt(); + const unsigned major = versionPattern.cap(1).toUInt(0, 16); + const unsigned minor = versionPattern.cap(2).toUInt(0, 16); + const unsigned patch = versionPattern.cap(3).toUInt(0, 16); return version(major, minor, patch); }