From 60fa56db8e0220b255f07aceb8742e6c7491d10d Mon Sep 17 00:00:00 2001
From: Orgad Shaneh <orgad.shaneh@audiocodes.com>
Date: Fri, 26 Jul 2013 17:24:13 +0300
Subject: [PATCH] Git: Initialize remote model directory even when no remotes
 found

Task-number: QTCREATORBUG-9789
Change-Id: If3626e244b9d85ad670d586438710e17bba8e927
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
---
 src/plugins/git/remotedialog.cpp | 9 ++++-----
 src/plugins/git/remotedialog.h   | 2 --
 src/plugins/git/remotemodel.cpp  | 3 ++-
 3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/src/plugins/git/remotedialog.cpp b/src/plugins/git/remotedialog.cpp
index 98078168291..db4cb867594 100644
--- a/src/plugins/git/remotedialog.cpp
+++ b/src/plugins/git/remotedialog.cpp
@@ -118,16 +118,15 @@ RemoteDialog::~RemoteDialog()
 
 void RemoteDialog::refresh(const QString &repository, bool force)
 {
-    if (m_repository == repository && !force)
+    if (m_remoteModel->workingDirectory() == repository && !force)
         return;
     // Refresh
-    m_repository = repository;
-    m_ui->repositoryLabel->setText(StashDialog::msgRepositoryLabel(m_repository));
-    if (m_repository.isEmpty()) {
+    m_ui->repositoryLabel->setText(StashDialog::msgRepositoryLabel(repository));
+    if (repository.isEmpty()) {
         m_remoteModel->clear();
     } else {
         QString errorMessage;
-        if (!m_remoteModel->refresh(m_repository, &errorMessage))
+        if (!m_remoteModel->refresh(repository, &errorMessage))
             VcsBase::VcsBaseOutputWindow::instance()->appendError(errorMessage);
     }
 }
diff --git a/src/plugins/git/remotedialog.h b/src/plugins/git/remotedialog.h
index 7a8d00900b9..7ab485ef043 100644
--- a/src/plugins/git/remotedialog.h
+++ b/src/plugins/git/remotedialog.h
@@ -92,8 +92,6 @@ private:
 
     RemoteModel *m_remoteModel;
     RemoteAdditionDialog *m_addDialog;
-
-    QString m_repository;
 };
 
 } // namespace Internal
diff --git a/src/plugins/git/remotemodel.cpp b/src/plugins/git/remotemodel.cpp
index d7ad7a3147d..b6f0933e7c6 100644
--- a/src/plugins/git/remotemodel.cpp
+++ b/src/plugins/git/remotemodel.cpp
@@ -177,6 +177,8 @@ void RemoteModel::clear()
 
 bool RemoteModel::refresh(const QString &workingDirectory, QString *errorMessage)
 {
+    m_workingDirectory = workingDirectory;
+
     // get list of remotes.
     QMap<QString,QString> remotesList =
             m_client->synchronousRemotesList(workingDirectory, errorMessage);
@@ -184,7 +186,6 @@ bool RemoteModel::refresh(const QString &workingDirectory, QString *errorMessage
     if (remotesList.isEmpty())
         return false;
 
-    m_workingDirectory = workingDirectory;
     beginResetModel();
     m_remotes.clear();
     foreach (const QString &remoteName, remotesList.keys()) {
-- 
GitLab