Blender Git Loki

Git Commits -> Revision ebf7526

Revision ebf7526 by Bastien Montagne (master)
September 29, 2020, 15:08 (GMT)
Fix unreported Eisenbug leading to a crash when reading a blend file.

This took more than a day to fully investigate and understand, one of
the reasons being that the probability of the issue to show up was
extremely low, and subjected to very specific random factors.

Root of the issue is that, in some very rare cases, a newly read ID
might get the exact same memory address as the one it had when the blend
file was saved.

In that case, `BKE_workspace_active_set` would return immediately, since
the pointer to the active workspace would remain unchanged. But that
lead to having an unset NULL active layout pointer, which would crash
when attempting to get e.g. the active screen.

For the record, I ran into this when running a specific build (master
with one flag added to the `LIB_ID_CREATE` ones, with value `1 << 3`),
using a specific set of options (`--background --factory-startup -noaudio`),
and passing the .blend file from T80090 as argument.

Commit Details:

Full Hash: ebf752625e3cdd261abd3a737d18d477df6f4379
Parent Commit: 84b3f6e
Lines Changed: +7, -3

1 Modified Path:

/source/blender/blenkernel/intern/workspace.c (+7, -3) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021