Fix T49460: Particle group instance 'Use Count' value gets reset on file-load.
Regression caused rBbcc863993ad, write code was assuming dw->ob was always valid, wich is no more the case right after reading file e.g. Another good example of how bad it is to use 'hidden' dependencies between datablocks. :( And another fix to be backported to 2.78a. :(((
This commit is contained in:
parent
601ce6a89c
commit
cbd3827d83
@ -1306,13 +1306,11 @@ static void write_particlesettings(WriteData *wd, ListBase *idbase)
|
||||
|
||||
dw = part->dupliweights.first;
|
||||
for (; dw; dw = dw->next) {
|
||||
/* update indices */
|
||||
dw->index = 0;
|
||||
if (part->dup_group) { /* can be NULL if lining fails or set to None */
|
||||
go = part->dup_group->gobject.first;
|
||||
while (go && go->ob != dw->ob) {
|
||||
go = go->next;
|
||||
dw->index++;
|
||||
/* update indices, but only if dw->ob is set (can be NULL after loading e.g.) */
|
||||
if (dw->ob != NULL) {
|
||||
dw->index = 0;
|
||||
if (part->dup_group) { /* can be NULL if lining fails or set to None */
|
||||
for (go = part->dup_group->gobject.first; go && go->ob != dw->ob; go = go->next, dw->index++);
|
||||
}
|
||||
}
|
||||
writestruct(wd, DATA, ParticleDupliWeight, 1, dw);
|
||||
|
Loading…
Reference in New Issue
Block a user