From 8656bafbd4051bb75fea398f68331c73d9d67cfb Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Tue, 23 Aug 2022 15:19:56 +0300 Subject: QmlDesigner: Add delete action to 3D Editor's context menu This entails selecting a model upon right-clicking if it is not selected. Also fixed a memory leak and small tweaks. Fixes: QDS-7401 Change-Id: I592acb3fff30ecc3236f3cf2fbe126de4fb389dc Reviewed-by: Reviewed-by: Miikka Heikkinen --- src/plugins/qmldesigner/components/edit3d/edit3dview.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/plugins/qmldesigner/components/edit3d/edit3dview.cpp') diff --git a/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp b/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp index fb844b1c85..5a598dbd0e 100644 --- a/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp +++ b/src/plugins/qmldesigner/components/edit3d/edit3dview.cpp @@ -249,6 +249,10 @@ void Edit3DView::customNotification(const AbstractView *view, const QString &ide void Edit3DView::modelAtPosReady(const ModelNode &modelNode) { if (m_modelAtPosReqType == ModelAtPosReqType::ContextMenu) { + // Make sure right-clicked item is selected. Due to a bug in puppet side right-clicking an item + // while the context-menu is shown doesn't select the item. + if (modelNode.isValid() && !modelNode.isSelected()) + setSelectedModelNode(modelNode); m_edit3DWidget->showContextMenu(m_contextMenuPos, modelNode); } else if (m_modelAtPosReqType == ModelAtPosReqType::MaterialDrop) { if (m_droppedMaterial.isValid() && modelNode.isValid()) { -- cgit v1.2.1