summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Baryshnikov <nib952051@gmail.com>2015-04-09 11:36:32 +0300
committerNikita Baryshnikov <nib952051@gmail.com>2015-04-12 09:56:56 +0000
commit1d23de641f5933553c636253a938eb17c308688d (patch)
tree71ea6d1185838da051ff346decb1a63bf948d55f
parent7da95de7b2af1e72341384fc4e934a750b996eef (diff)
downloadqt-creator-1d23de641f5933553c636253a938eb17c308688d.tar.gz
GitClient: fix diff when committing
When a commit has several files, opening diff for the first file works, but trying to open another diff without closing the previous one doesn't refresh the diff editor. Change-Id: Ia973cb70f2355a89b70787dd97042ef9f751d9d6 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com>
-rw-r--r--src/plugins/diffeditor/diffeditorcontroller.cpp1
-rw-r--r--src/plugins/git/gitclient.cpp16
2 files changed, 6 insertions, 11 deletions
diff --git a/src/plugins/diffeditor/diffeditorcontroller.cpp b/src/plugins/diffeditor/diffeditorcontroller.cpp
index 6380dee25b..5f4cfef23e 100644
--- a/src/plugins/diffeditor/diffeditorcontroller.cpp
+++ b/src/plugins/diffeditor/diffeditorcontroller.cpp
@@ -48,7 +48,6 @@ DiffEditorController::DiffEditorController(Core::IDocument *document) :
m_chunkIndex(-1)
{
QTC_ASSERT(m_document, return);
- QTC_CHECK(!m_document->controller());
m_document->setController(this);
}
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index ff068d46fd..44d1837411 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -792,19 +792,15 @@ void GitClient::requestReload(const QString &documentId, const QString &source,
const QString &title,
std::function<DiffEditorController *(IDocument *)> factory) const
{
- DiffEditorController *controller = 0;
IDocument *document = DiffEditorManager::findOrCreate(documentId, title);
QTC_ASSERT(document, return);
- controller = DiffEditorManager::controller(document);
- if (!controller) {
- controller = factory(document);
- QTC_ASSERT(controller, return);
+ DiffEditorController *controller = factory(document);
+ QTC_ASSERT(controller, return);
- connect(controller, &DiffEditorController::chunkActionsRequested,
- this, &GitClient::slotChunkActionsRequested, Qt::DirectConnection);
- connect(controller, &DiffEditorController::requestInformationForCommit,
- this, &GitClient::branchesForCommit);
- }
+ connect(controller, &DiffEditorController::chunkActionsRequested,
+ this, &GitClient::slotChunkActionsRequested, Qt::DirectConnection);
+ connect(controller, &DiffEditorController::requestInformationForCommit,
+ this, &GitClient::branchesForCommit);
VcsBasePlugin::setSource(document, source);
EditorManager::activateEditorForDocument(document);