Oh, true. Little mix-up. Sorry. :-) Guido
On Thu, Nov 29, 2012 at 12:18:57PM -0500, andy fillebrown wrote: > I don't know what toolkit Guido is using, but QGraphicsItem does not > inherit from QObject in any version of Qt 4 I've ever seen =) > > ~ af > > > > On Thu, Nov 29, 2012 at 11:17 AM, Guido Seifert <warg...@gmx.de> > wrote: > > > QGraphicsItem is a QObject. To delete Objects with 'delete' is a > > risky game. Better use deleteLater(). > > > > Guido > > > > > > On Thu, Nov 29, 2012 at 12:33:58PM +0100, Volker Poplawski wrote: > > > >> Hi everybody, > >> > >> I'm facing segfault in succession of deleting a number of > >> QGraphicsItems from a scene. > >> > >> The following code leads to the stack trace below on the next > >> redraw of the scene. > >> > >> while (not m_items.isEmpty()) { QGraphicsItem *item = > >> m_items.takeFirst(); m_scene->removeItem(item); // qtdoc says > >> it's faster to remove item first then delete delete item; } > >> > >> > >> The interesting things is that without the removeItem() call, > >> i.e. just calling delete on the items, my program does not crash. > >> > >> > >> > >> > >> > >> > >> 0 > >> QGraphicsSceneFindItemBspTreeVisitor::visit(QList<QGraphicsItem*> > >> *) 0x1075cff 1 > >> QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, > >> QRectF const&, int) const 0x1074c40 2 > >> QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, > >> QRectF const&, int) const 0x1074ce0 3 > >> QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, > >> QRectF const&, int) const 0x1074c40 4 > >> QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, > >> QRectF const&, int) const 0x1074c40 5 > >> QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, > >> QRectF const&, int) const 0x1074c40 6 > >> QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, > >> QRectF const&, int) const 0x1074c40 7 > >> QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, > >> QRectF const&, int) const 0x1074c40 8 > >> QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, > >> QRectF const&, int) const 0x1074c40 9 > >> QGraphicsSceneBspTree::climbTree(QGraphicsSceneBspTreeVisitor*, > >> QRectF const&, int) const 0x1074ce0 10 > >> QGraphicsSceneBspTree::items(QRectF const&, bool) const 0x107539e > >> 11 QGraphicsSceneBspTreeIndexPrivate::estimateItems(QRectF > >> const&, Qt::SortOrder, bool) 0xf24058 12 > >> QGraphicsSceneBspTreeIndex::estimateTopLevelItems(QRectF > >> const&, Qt::SortOrder) const 0xf24233 13 > >> QGraphicsScenePrivate::drawItems(QPainter*, > >> QTransform const*, QRegion*, QWidget*) 0xf194ad 14 > >> QGraphicsView::paintEvent(QPaintEvent*) 0xf3505c 15 > >> QWidget::event(QEvent*) 0xa6941a 16 QFrame::event(QEvent*) > >> 0xd81236 17 QGraphicsView::viewportEvent(QEvent*) 0xf362bb 18 > >> QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, > >> QEvent*) 0x11992b7 19 > >> QApplicationPrivate::notify_helper(QObject*, QEvent*) 0xa240f1 20 > >> QApplication::notify(QObject*, QEvent*) 0xa2c63f ... <More> > >> > >> > >> > >> > >> > >> ....Volker > >> _________________________________________________________________ > >> Interest mailing list Interest@qt-project.org > >> http://lists.qt-project.org/mailman/listinfo/interest > > > > __________________________________________________________________ > > Interest mailing list Interest@qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest