Editor crash — heap corruption in QStyleSheetStyle::repolish after Component hot-reload
The s&box editor crashed with a heap-corruption fault deep in Qt's stylesheet path. Top frames:
ntdll RtlpLogHeapFailure → RtlFreeHeap
Qt5Core _free_base free_base.cpp:105
Qt5Widgets QVector<T>::~QVector / destruct / freeData
Qt5Widgets QHash<T>::remove qhash.h:823
Qt5Widgets QStyleSheetStyle::repolish qstylesheetstyle.cpp:2948
Qt5Widgets QWidget::setStyleSheet qwidget.cpp:2554
toolframework2 Exports::TlWndwMngr_setStyleSheet interop.tools.cpp:20830
Looks like a use-after-free / double-free on a QVector owned by the stylesheet style cache while a widget is being repolished. Nothing in my game code touches Qt or styles directly — all geometry work goes through Sandbox.Terrain.SyncGPUTexture() and Mesh/Model.Builder.
Repro context (iterative Component editing with hot-reload):
- Custom
Component with ~25 [Property] fields across multiple [Group(...)] sections - Over ~30 minutes I added 5 new property groups (~12 new
[Property] fields), then a couple of small fixes including default-value flips - Saved + hot-reloaded several times in close succession
- Inspector for the relevant GameObject was open and being interacted with the whole time
- Crash fired during inspector interaction shortly after a hot-reload completed
Suspected reproducer: open a scene with a Component instance that has many [Property] fields across multiple [Group(...)] → edit the source to add/remove/rename properties → save → hot-reload → click into the inspector → repeat in rapid succession with the inspector for that GameObject visible.
Workaround: restart editor after major Component refactors instead of relying on hot-reload; collapse the inspector before saving file changes.