[Interest] [Qt3D] Crash when changing an entity's parent many times

Xavier Bigand flamaros.xavier at gmail.com
Wed Oct 26 15:37:31 CEST 2016


Hi,

I have to change to parent to nullptr to make some entities invisible, but
when I put them visible back I get a crash.

The crash is a segfault in the method void
Entity::setNodeManagers(NodeManagers *manager) because the this pointer is
null.

Here is the callstack :
  Qt53DRenderd.dll!Qt3DRender::Render::Entity::setNodeManagers(Qt3DRender::Render::NodeManagers
* manager) Line 140 C++
  Qt53DRenderd.dll!Qt3DRender::Render::RenderEntityFunctor::create(const
QSharedPointer<Qt3DCore::QNodeCreatedChangeBase> & change) Line 562 C++
  Qt53DCored.dll!Qt3DCore::QAbstractAspectPrivate::createBackendNode(const
QSharedPointer<Qt3DCore::QNodeCreatedChangeBase> & change) Line 198 C++
  Qt53DCored.dll!Qt3DCore::QAbstractAspectPrivate::sceneNodeAdded(QSharedPointer<Qt3DCore::QSceneChange>
& change) Line 163 C++
Qt53DCored.dll!Qt3DCore::QChangeArbiter::distributeQueueChanges(std::vector<QSharedPointer<Qt3DCore::QSceneChange>,std::allocator<QSharedPointer<Qt3DCore::QSceneChange>
> > * changeQueue) Line 120 C++
  Qt53DCored.dll!Qt3DCore::QChangeArbiter::syncChanges() Line 180 C++
  Qt53DCored.dll!Qt3DCore::QAspectManager::exec() Line 282 C++
  Qt53DCored.dll!Qt3DCore::QAspectThread::run() Line 88 C++
  Qt5Cored.dll!QThreadPrivate::start(void * arg) Line 380 C++
  [External Code]
  [Frames below may be incorrect and/or missing, no symbols loaded for
kernel32.dll]



I am also curious to know what does the enable flag on QEntity, it seems
easier to use it to control the visibility of object and maybe faster.


PS: I am using the git branch 5.8


-- 
Xavier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20161026/2386f679/attachment.html>


More information about the Interest mailing list