summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/qmldesignerplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/qmldesignerplugin.cpp')
-rw-r--r--src/plugins/qmldesigner/qmldesignerplugin.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp
index b7d7000be4..254c0ea512 100644
--- a/src/plugins/qmldesigner/qmldesignerplugin.cpp
+++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp
@@ -186,8 +186,9 @@ static bool isDesignerMode(Utils::Id mode)
static bool documentIsAlreadyOpen(DesignDocument *designDocument, Core::IEditor *editor, Utils::Id newMode)
{
return designDocument
- && editor == designDocument->editor()
- && isDesignerMode(newMode);
+ && editor == designDocument->editor()
+ && isDesignerMode(newMode)
+ && designDocument->fileName() == editor->document()->filePath();
}
static bool shouldAssertInException()
@@ -440,14 +441,12 @@ void QmlDesignerPlugin::integrateIntoQtCreator(QWidget *modeWidget)
&Core::ModeManager::currentModeChanged,
[this](Utils::Id newMode, Utils::Id oldMode) {
Core::IEditor *currentEditor = Core::EditorManager::currentEditor();
- if (d && currentEditor && checkIfEditorIsQtQuick(currentEditor)
+ if (isDesignerMode(newMode) && checkIfEditorIsQtQuick(currentEditor)
&& !documentIsAlreadyOpen(currentDesignDocument(), currentEditor, newMode)) {
- if (isDesignerMode(newMode)) {
- showDesigner();
- } else if (currentDesignDocument()
- || (!isDesignerMode(newMode) && isDesignerMode(oldMode))) {
- hideDesigner();
- }
+ showDesigner();
+ } else if (currentDesignDocument()
+ || (!isDesignerMode(newMode) && isDesignerMode(oldMode))) {
+ hideDesigner();
}
});
}