diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp index 67daf39827e..ed8a3bcec0e 100644 --- a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp @@ -51,6 +51,7 @@ #include #include #include +#include #include #include @@ -456,13 +457,17 @@ void DesignDocumentController::deleteSelected() if (!m_d->model) return; - if (m_d->formEditorView) { - RewriterTransaction transaction(m_d->formEditorView.data()); - QList toDelete = m_d->formEditorView->selectedModelNodes(); - foreach (ModelNode node, toDelete) { - if (node.isValid() && !node.isRootNode() && QmlObjectNode(node).isValid()) - QmlObjectNode(node).destroy(); + try { + if (m_d->formEditorView) { + RewriterTransaction transaction(m_d->formEditorView.data()); + QList toDelete = m_d->formEditorView->selectedModelNodes(); + foreach (ModelNode node, toDelete) { + if (node.isValid() && !node.isRootNode() && QmlObjectNode(node).isValid()) + QmlObjectNode(node).destroy(); + } } + } catch (RewritingException &e) { + QMessageBox::warning(0, tr("Error"), e.description()); } }