QmlDesigner: Block modifying imports when editing in-file subcomponent

Adding import statements fails silently when editing in-file
subcomponent, and removing them can crash creator, so block various
cases in component library, navigator, and 3D edit view that do this.

Fixes: QDS-5353
Change-Id: Ide5429cd97d2bf78f884b14e83cdffd10399f929
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Miikka Heikkinen
2021-11-02 15:05:11 +02:00
parent 69c8be67ae
commit 590d01e8a9
9 changed files with 57 additions and 19 deletions

View File

@@ -33,6 +33,7 @@
#include <designeractionmanager.h>
#include <designersettings.h>
#include <qmldesignerconstants.h>
#include <qmldesignerplugin.h>
#include <viewmanager.h>
#include <qmldesignericons.h>
#include <designmodecontext.h>
@@ -370,7 +371,8 @@ QVector<Edit3DAction *> Edit3DView::rightActions() const
void Edit3DView::addQuick3DImport()
{
if (model()) {
DesignDocument *document = QmlDesignerPlugin::instance()->currentDesignDocument();
if (document && !document->inFileComponentModelActive() && model()) {
const QList<Import> imports = model()->possibleImports();
for (const auto &import : imports) {
if (import.url() == "QtQuick3D") {