From d65f26557efd376e4eeab8d12ff45e2b28fe7610 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Fri, 20 Oct 2017 10:11:14 +0200 Subject: QmlDesigner: Fix crash If the keyboard is used (delete) the list can be empty. Change-Id: I7f67388d1af84091c8bc8b9a54345bb02dbf6ee2 Reviewed-by: Tim Jenssen --- .../qmldesignerextension/connectioneditor/connectionviewwidget.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionviewwidget.cpp b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionviewwidget.cpp index 2ad6d34d3d..54b771bf0d 100644 --- a/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionviewwidget.cpp +++ b/src/plugins/qmldesigner/qmldesignerextension/connectioneditor/connectionviewwidget.cpp @@ -231,18 +231,24 @@ void ConnectionViewWidget::handleTabChanged(int) void ConnectionViewWidget::removeButtonClicked() { if (currentTab() == ConnectionTab) { + if (ui->connectionView->selectionModel()->selectedRows().isEmpty()) + return; int currentRow = ui->connectionView->selectionModel()->selectedRows().first().row(); ConnectionModel *connectionModel = qobject_cast(ui->connectionView->model()); if (connectionModel) { connectionModel->deleteConnectionByRow(currentRow); } } else if (currentTab() == BindingTab) { + if (ui->bindingView->selectionModel()->selectedRows().isEmpty()) + return; int currentRow = ui->bindingView->selectionModel()->selectedRows().first().row(); BindingModel *bindingModel = qobject_cast(ui->bindingView->model()); if (bindingModel) { bindingModel->deleteBindindByRow(currentRow); } } else if (currentTab() == DynamicPropertiesTab) { + if (ui->dynamicPropertiesView->selectionModel()->selectedRows().isEmpty()) + return; int currentRow = ui->dynamicPropertiesView->selectionModel()->selectedRows().first().row(); DynamicPropertiesModel *dynamicPropertiesModel = qobject_cast(ui->dynamicPropertiesView->model()); if (dynamicPropertiesModel) -- cgit v1.2.1