From 2103a4a96c126ea62fa55d526049f8bb04aaba52 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sat, 29 Jun 2013 21:55:52 +0300 Subject: [PATCH] Git: Clear branches model when repository becomes empty Change-Id: I78932b342de5e1b29c75ed921d4d6afddf4d51da Reviewed-by: Eike Ziller --- src/plugins/git/branchmodel.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/plugins/git/branchmodel.cpp b/src/plugins/git/branchmodel.cpp index 69e4ee54664..4d577597f11 100644 --- a/src/plugins/git/branchmodel.cpp +++ b/src/plugins/git/branchmodel.cpp @@ -74,7 +74,7 @@ public: bool isLeaf() const { - return children.isEmpty(); + return children.isEmpty() && parent && parent->parent; } bool isTag() const @@ -331,8 +331,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; @@ -341,9 +345,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)