@@ -131,8 +131,8 @@ void NodeView::mousePressEvent(QMouseEvent *e)
131131 else emit calledMenuView ();
132132 }
133133
134- QGraphicsView::mousePressEvent (e);
135134 update ();
135+ QGraphicsView::mousePressEvent (e);
136136}
137137
138138void NodeView::mouseMoveEvent (QMouseEvent *e)
@@ -174,8 +174,8 @@ void NodeView::mouseReleaseEvent(QMouseEvent *e)
174174 }
175175
176176 m_moveScene = false ;
177- QGraphicsView::mouseReleaseEvent (e);
178177 update ();
178+ QGraphicsView::mouseReleaseEvent (e);
179179}
180180
181181void NodeView::checkRopeCreation (const QPointF &point)
@@ -335,7 +335,8 @@ void NodeView::removeActiveRope()
335335 m_activeRope->removePortOut ();
336336
337337 m_ropeList.removeOne (m_activeRope);
338- m_scene->removeItem (m_activeRope);
338+ m_activeRope->disconnect ();
339+ m_activeRope->deleteLater ();
339340 m_activeRope = Q_NULLPTR;
340341}
341342
@@ -395,7 +396,8 @@ void NodeView::removeNode(NodeItem *node)
395396 rope->removePortOut ();
396397
397398 m_ropeList.removeOne (rope);
398- m_scene->removeItem (rope);
399+ rope->disconnect ();
400+ rope->deleteLater ();
399401 }
400402
401403 port->disconnect ();
@@ -406,7 +408,7 @@ void NodeView::removeNode(NodeItem *node)
406408 group->removeNode (node);
407409
408410 m_nodeList.removeOne (node);
409- m_scene-> removeItem (node );
411+ node-> disconnect ( );
410412 node->deleteLater ();
411413}
412414
@@ -461,11 +463,13 @@ GroupItem *NodeView::getItemGroup(NodeItem *node)
461463
462464void NodeView::removeGroup (GroupItem *group)
463465{
466+ qDebug () << " NodeView::removeGroup" << group;
464467 if (!m_groupList.contains (group)) return ;
465468
466- group->clearNodes ();
467469 m_groupList.removeOne (group);
468- m_scene->removeItem (group);
470+
471+ group->disconnect ();
472+ group->deleteLater ();
469473}
470474
471475bool NodeView::createConnection (PortItem *portOut, PortItem *portIn)
@@ -494,7 +498,8 @@ void NodeView::removePortConnections(PortItem *port)
494498 foreach (RopeItem *rope, ropesToRemove)
495499 {
496500 m_ropeList.removeOne (rope);
497- m_scene->removeItem (rope);
501+ rope->disconnect ();
502+ rope->deleteLater ();
498503 }
499504}
500505
@@ -510,7 +515,7 @@ void NodeView::clearView()
510515
511516 foreach (GroupItem *group, m_groupList)
512517 {
513- m_scene-> removeItem (group );
518+ group-> disconnect ( );
514519 group->deleteLater ();
515520 }
516521
0 commit comments