Correct use-after-free in recent commit
This commit is contained in:
@@ -4263,20 +4263,15 @@ static int background_image_remove_exec(bContext *C, wmOperator *op)
|
|||||||
BGpic *bgpic_rem = BLI_findlink(&v3d->bgpicbase, index);
|
BGpic *bgpic_rem = BLI_findlink(&v3d->bgpicbase, index);
|
||||||
|
|
||||||
if (bgpic_rem) {
|
if (bgpic_rem) {
|
||||||
ED_view3D_background_image_remove(v3d, bgpic_rem);
|
|
||||||
|
|
||||||
if (bgpic_rem->source == V3D_BGPIC_IMAGE) {
|
if (bgpic_rem->source == V3D_BGPIC_IMAGE) {
|
||||||
Image *ima = bgpic_rem->ima;
|
id_us_min((ID *)bgpic_rem->ima);
|
||||||
if (ima) {
|
|
||||||
id_us_min(&ima->id);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (bgpic_rem->source == V3D_BGPIC_MOVIE) {
|
else if (bgpic_rem->source == V3D_BGPIC_MOVIE) {
|
||||||
MovieClip *clip = bgpic_rem->clip;
|
id_us_min((ID *)bgpic_rem->clip);
|
||||||
if (clip) {
|
|
||||||
id_us_min(&clip->id);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ED_view3D_background_image_remove(v3d, bgpic_rem);
|
||||||
|
|
||||||
WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, v3d);
|
WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, v3d);
|
||||||
return OPERATOR_FINISHED;
|
return OPERATOR_FINISHED;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user