aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2019-06-19 09:17:36 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2019-06-20 07:09:19 +0000
commit3333f1b8acbafb18cdda3e6548fad7967051ee26 (patch)
tree444afb43f940f9033f9180bc1ea32a2eacc42150 /src
parentdfc5e76830795d05cfa29ae685c40816f09246bc (diff)
QmlDesigner: Check if property exists before reparenting
Change-Id: I503abbbf8e9312d66567529d0bde66f0090b6f70 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
index 2a559c7359..8c89acb7c8 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
@@ -447,7 +447,7 @@ static bool findTargetProperty(const QModelIndex &rowModelIndex,
NavigatorTreeModel *navigatorTreeModel,
NodeAbstractProperty *targetProperty,
int *targetRowNumber,
- const QString &propertyName = {})
+ const PropertyName &propertyName = {})
{
QModelIndex targetItemIndex;
PropertyName targetPropertyName;
@@ -461,10 +461,10 @@ static bool findTargetProperty(const QModelIndex &rowModelIndex,
if (!targetNode.metaInfo().hasDefaultProperty())
return false;
- if (propertyName.isEmpty())
+ if (propertyName.isEmpty() || !targetNode.metaInfo().hasProperty(propertyName))
targetPropertyName = targetNode.metaInfo().defaultPropertyName();
else
- targetPropertyName = propertyName.toUtf8();
+ targetPropertyName = propertyName;
}
// Disallow dropping items between properties, which are listed first.
@@ -520,7 +520,7 @@ void NavigatorTreeModel::handleItemLibraryItemDrop(const QMimeData *mimeData, in
const QString targetPropertyName = hints.forceNonDefaultProperty();
- bool foundTarget = findTargetProperty(rowModelIndex, this, &targetProperty, &targetRowNumber, targetPropertyName);
+ bool foundTarget = findTargetProperty(rowModelIndex, this, &targetProperty, &targetRowNumber, targetPropertyName.toUtf8());
if (foundTarget) {
if (!NodeHints::fromItemLibraryEntry(itemLibraryEntry).canBeDroppedInNavigator())