diff options
author | Nikita Baryshnikov <nib952051@gmail.com> | 2015-04-09 11:36:32 +0300 |
---|---|---|
committer | Nikita Baryshnikov <nib952051@gmail.com> | 2015-04-12 09:56:56 +0000 |
commit | 1d23de641f5933553c636253a938eb17c308688d (patch) | |
tree | 71ea6d1185838da051ff346decb1a63bf948d55f | |
parent | 7da95de7b2af1e72341384fc4e934a750b996eef (diff) | |
download | qt-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.cpp | 1 | ||||
-rw-r--r-- | src/plugins/git/gitclient.cpp | 16 |
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); |