mirror of
https://github.com/overte-org/overte.git
synced 2025-04-25 18:16:08 +02:00
Many render items/payloads contain smart pointers back to the objects that added them to the scene, including entity and avatar objects. Currently, those render items are destroyed when the scene is destroyed very late in the application life-cycle. There are rare crashes that can occur when these render items are destroyed. Possibly, due to them referencing objects that have already been destroyed via raw pointers. In an effort to eliminate these crashes, we now destroy the scene earlier, within Application::aboutToQuit() which is connected to the QCoreApplication::aboutToQuit signal. Also, we guard against null scene pointer dereferences. Any location that accesses the scene off the main thread, now checks the validity of the scene pointer. |
||
---|---|---|
.. | ||
src/render | ||
CMakeLists.txt |