summaryrefslogtreecommitdiff
path: root/src/plugins/git/branchmodel.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@digia.com>2013-07-08 15:01:17 +0200
committerEike Ziller <eike.ziller@digia.com>2013-07-08 15:01:17 +0200
commita98fe15fe51a87e2943623caf2a8ea072cfc5919 (patch)
treecd591ee60c464a385c02a92bcaba34ccdeadcd2e /src/plugins/git/branchmodel.cpp
parent2c211007257f5e58e2809692b74bb5b18f63b80c (diff)
parent07c0a8348c59945465e9f2330a40f625543f7f8a (diff)
downloadqt-creator-a98fe15fe51a87e2943623caf2a8ea072cfc5919.tar.gz
Merge remote-tracking branch 'origin/2.8' into HEAD
Conflicts: qbs/pluginspec/pluginspec.qbs Change-Id: Ic8e992623b9eda8913ee473c779a8df27643ccc9
Diffstat (limited to 'src/plugins/git/branchmodel.cpp')
-rw-r--r--src/plugins/git/branchmodel.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/git/branchmodel.cpp b/src/plugins/git/branchmodel.cpp
index feee651ed8..1a07e15692 100644
--- a/src/plugins/git/branchmodel.cpp
+++ b/src/plugins/git/branchmodel.cpp
@@ -80,7 +80,7 @@ public:
bool isLeaf() const
{
- return children.isEmpty();
+ return children.isEmpty() && parent && parent->parent;
}
bool childOf(BranchNode *node) const
@@ -339,8 +339,12 @@ void BranchModel::clear()
bool BranchModel::refresh(const QString &workingDirectory, QString *errorMessage)
{
- if (workingDirectory.isEmpty())
+ beginResetModel();
+ clear();
+ if (workingDirectory.isEmpty()) {
+ endResetModel();
return false;
+ }
m_currentSha = m_client->synchronousTopRevision(workingDirectory);
QStringList args;
@@ -349,9 +353,6 @@ bool BranchModel::refresh(const QString &workingDirectory, QString *errorMessage
if (!m_client->synchronousForEachRefCmd(workingDirectory, args, &output, errorMessage))
VcsBase::VcsBaseOutputWindow::instance()->appendError(*errorMessage);
- beginResetModel();
- clear();
-
m_workingDirectory = workingDirectory;
const QStringList lines = output.split(QLatin1Char('\n'));
foreach (const QString &l, lines)