DO not increment image user counter on view3d duplicate and not decrement

it's user count on free. That's how other spaces handles ID block (like
image editor, space clip).

This fixes issue when loading file without loading UI when current layout
has got background images set.
Also this hopefully will fix issue #30429: Background Images Lost on Save/Close/Reload
This commit is contained in:
Sergey Sharybin 2012-03-09 13:43:37 +00:00
parent 0c68f0eee8
commit de4bd55e01
2 changed files with 0 additions and 14 deletions

@ -333,10 +333,6 @@ static void view3d_free(SpaceLink *sl)
{
View3D *vd= (View3D *) sl;
BGpic *bgpic;
for (bgpic= vd->bgpicbase.first; bgpic; bgpic= bgpic->next) {
if (bgpic->ima) bgpic->ima->id.us--;
}
BLI_freelistN(&vd->bgpicbase);
if (vd->localvd) MEM_freeN(vd->localvd);
@ -355,7 +351,6 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl)
{
View3D *v3do= (View3D *)sl;
View3D *v3dn= MEM_dupallocN(sl);
BGpic *bgpic;
/* clear or remove stuff from old */
@ -374,9 +369,6 @@ static SpaceLink *view3d_duplicate(SpaceLink *sl)
/* copy or clear inside new stuff */
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;

@ -3648,12 +3648,6 @@ void ED_view3D_background_image_remove(View3D *v3d, BGpic *bgpic)
{
BLI_remlink(&v3d->bgpicbase, bgpic);
if (bgpic->ima)
id_us_min(&bgpic->ima->id);
if (bgpic->clip)
id_us_min(&bgpic->clip->id);
MEM_freeN(bgpic);
}