diff --git a/src/libs/vwidgets/vmaingraphicsview.cpp b/src/libs/vwidgets/vmaingraphicsview.cpp index 9a841b39d..45d9864d0 100644 --- a/src/libs/vwidgets/vmaingraphicsview.cpp +++ b/src/libs/vwidgets/vmaingraphicsview.cpp @@ -536,31 +536,24 @@ void VMainGraphicsView::mousePressEvent(QMouseEvent *event) { QGraphicsView::setDragMode(QGraphicsView::RubberBandDrag); } + if (showToolOptions) { - QList list = items(event->pos()); - if (list.size() == 0) - { - emit itemClicked(nullptr); - break; - } - - const QList sceneItems = this->scene()->items(); + bool success = false; + const QList list = items(event->pos()); for (auto item : list) { - if (sceneItems.contains(item)) + if (item && item->type() > QGraphicsItem::UserType && item->type() <= VSimpleCurve::Type) { - if (item->type() > QGraphicsItem::UserType && item->type() <= VSimpleCurve::Type) - { - emit itemClicked(item); - break; - } - else - { - emit itemClicked(nullptr); - } + emit itemClicked(item); + success = true; } } + + if (not success) + { + emit itemClicked(nullptr); + } } break; }