aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/diffeditor
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2018-04-06 15:57:30 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2018-04-09 09:31:40 +0000
commite806ea40ccaff89857604d53fc8e78a155ce9ad1 (patch)
treebcace8f44d4d9649a77c70e04b17736eb20a2a1d /src/plugins/diffeditor
parent18ad5653d5cce51a02109e4955c1f4655d76b886 (diff)
Pass this context object to the connect()
Otherwise when "this" instance gets deleted and the sender still exists, the lambda expression is still invoked for the deleted object. Task-number: QTCREATORBUG-20223 Change-Id: Ifd5c9e6ce1fe7fde71698c6683cdfcd7566e8d35 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Diffstat (limited to 'src/plugins/diffeditor')
-rw-r--r--src/plugins/diffeditor/descriptionwidgetwatcher.cpp4
-rw-r--r--src/plugins/diffeditor/diffeditorwidgetcontroller.cpp6
-rw-r--r--src/plugins/diffeditor/sidebysidediffeditorwidget.cpp8
3 files changed, 9 insertions, 9 deletions
diff --git a/src/plugins/diffeditor/descriptionwidgetwatcher.cpp b/src/plugins/diffeditor/descriptionwidgetwatcher.cpp
index 0e310cfbcd..5b266ebe74 100644
--- a/src/plugins/diffeditor/descriptionwidgetwatcher.cpp
+++ b/src/plugins/diffeditor/descriptionwidgetwatcher.cpp
@@ -44,7 +44,7 @@ DescriptionWidgetWatcher::DescriptionWidgetWatcher(DiffEditorController *control
m_widgets.append(widget);
}
- connect(EditorManager::instance(), &EditorManager::editorOpened,
+ connect(EditorManager::instance(), &EditorManager::editorOpened, this,
[this](IEditor *editor) {
if (TextEditor::TextEditorWidget *widget = descriptionWidget(editor)) {
m_widgets.append(widget);
@@ -52,7 +52,7 @@ DescriptionWidgetWatcher::DescriptionWidgetWatcher(DiffEditorController *control
}
});
- connect(EditorManager::instance(), &EditorManager::editorAboutToClose,
+ connect(EditorManager::instance(), &EditorManager::editorAboutToClose, this,
[this](IEditor *editor) {
if (TextEditor::TextEditorWidget *widget = descriptionWidget(editor)) {
emit descriptionWidgetRemoved(widget);
diff --git a/src/plugins/diffeditor/diffeditorwidgetcontroller.cpp b/src/plugins/diffeditor/diffeditorwidgetcontroller.cpp
index c4a826bfe9..834c320a52 100644
--- a/src/plugins/diffeditor/diffeditorwidgetcontroller.cpp
+++ b/src/plugins/diffeditor/diffeditorwidgetcontroller.cpp
@@ -227,7 +227,7 @@ void DiffEditorWidgetController::addCodePasterAction(QMenu *menu, int fileIndex,
if (ExtensionSystem::PluginManager::getObject<CodePaster::Service>()) {
// optional code pasting service
QAction *sendChunkToCodePasterAction = menu->addAction(tr("Send Chunk to CodePaster..."));
- connect(sendChunkToCodePasterAction, &QAction::triggered, [this, fileIndex, chunkIndex]() {
+ connect(sendChunkToCodePasterAction, &QAction::triggered, this, [this, fileIndex, chunkIndex]() {
sendChunkToCodePaster(fileIndex, chunkIndex);
});
}
@@ -253,7 +253,7 @@ bool DiffEditorWidgetController::fileNamesAreDifferent(int fileIndex) const
void DiffEditorWidgetController::addApplyAction(QMenu *menu, int fileIndex, int chunkIndex)
{
QAction *applyAction = menu->addAction(tr("Apply Chunk..."));
- connect(applyAction, &QAction::triggered, [this, fileIndex, chunkIndex]() {
+ connect(applyAction, &QAction::triggered, this, [this, fileIndex, chunkIndex]() {
patch(false, fileIndex, chunkIndex);
});
applyAction->setEnabled(chunkExists(fileIndex, chunkIndex) && fileNamesAreDifferent(fileIndex));
@@ -262,7 +262,7 @@ void DiffEditorWidgetController::addApplyAction(QMenu *menu, int fileIndex, int
void DiffEditorWidgetController::addRevertAction(QMenu *menu, int fileIndex, int chunkIndex)
{
QAction *revertAction = menu->addAction(tr("Revert Chunk..."));
- connect(revertAction, &QAction::triggered, [this, fileIndex, chunkIndex]() {
+ connect(revertAction, &QAction::triggered, this, [this, fileIndex, chunkIndex]() {
patch(true, fileIndex, chunkIndex);
});
revertAction->setEnabled(chunkExists(fileIndex, chunkIndex));
diff --git a/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp b/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp
index 81942a9a66..0836e9a952 100644
--- a/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp
+++ b/src/plugins/diffeditor/sidebysidediffeditorwidget.cpp
@@ -166,7 +166,7 @@ SideDiffEditorWidget::SideDiffEditorWidget(QWidget *parent)
settings.m_highlightBlocks = false;
SelectableTextEditorWidget::setDisplaySettings(settings);
- connect(this, &TextEditorWidget::tooltipRequested, [this](const QPoint &point, int position) {
+ connect(this, &TextEditorWidget::tooltipRequested, this, [this](const QPoint &point, int position) {
const int block = document()->findBlock(position).blockNumber();
const auto it = m_fileInfo.constFind(block);
if (it != m_fileInfo.constEnd())
@@ -648,10 +648,10 @@ SideBySideDiffEditorWidget::SideBySideDiffEditorWidget(QWidget *parent)
};
setupHighlightController();
- connect(m_leftEditor, &SideDiffEditorWidget::gotDisplaySettings, setupHighlightController);
+ connect(m_leftEditor, &SideDiffEditorWidget::gotDisplaySettings, this, setupHighlightController);
m_rightEditor->verticalScrollBar()->setFocusProxy(m_leftEditor);
- connect(m_leftEditor, &SideDiffEditorWidget::gotFocus, [this]() {
+ connect(m_leftEditor, &SideDiffEditorWidget::gotFocus, this, [this]() {
if (m_rightEditor->verticalScrollBar()->focusProxy() == m_leftEditor)
return; // We already did it before.
@@ -672,7 +672,7 @@ SideBySideDiffEditorWidget::SideBySideDiffEditorWidget(QWidget *parent)
// too. We bring back the original policy to keep tab focus working.
m_leftEditor->setFocusPolicy(Qt::StrongFocus);
});
- connect(m_rightEditor, &SideDiffEditorWidget::gotFocus, [this]() {
+ connect(m_rightEditor, &SideDiffEditorWidget::gotFocus, this, [this]() {
// Unhack #1.
m_rightEditor->verticalScrollBar()->setFocusProxy(nullptr);
// Unhack #2.