Possible fix for #20835: background images were not duplicated correctly
when splitting 3d view, causing them to be lost on file reload.
This commit is contained in:
@@ -290,6 +290,7 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl)
|
||||
{
|
||||
View3D *v3do= (View3D *)sl;
|
||||
View3D *v3dn= MEM_dupallocN(sl);
|
||||
BGpic *bgpic;
|
||||
|
||||
/* clear or remove stuff from old */
|
||||
|
||||
@@ -304,13 +305,11 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl)
|
||||
|
||||
/* copy or clear inside new stuff */
|
||||
|
||||
if(v3dn->bgpicbase.first) {
|
||||
BGpic *bgpic;
|
||||
for ( bgpic= v3dn->bgpicbase.first; bgpic; bgpic= bgpic->next ) {
|
||||
bgpic= MEM_dupallocN(bgpic);
|
||||
if(bgpic->ima) bgpic->ima->id.us++;
|
||||
}
|
||||
}
|
||||
BLI_duplicatelist(&v3dn->bgpicbase, &v3do->bgpicbase);
|
||||
for(bgpic= v3dn->bgpicbase.first; bgpic; bgpic= bgpic->next)
|
||||
if(bgpic->ima)
|
||||
bgpic->ima->id.us++;
|
||||
|
||||
v3dn->properties_storage= NULL;
|
||||
|
||||
return (SpaceLink *)v3dn;
|
||||
|
||||
Reference in New Issue
Block a user