Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-06-30 22:09:27 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-06-30 22:11:05 +0400
commit00e98bf3ec8d47bf19f658969a1f764bf77d5768 (patch)
tree885416c18ad432ca7fdec80968848baafae9fd01 /source
parented871df83686aebd12292828d6f889baf14ece72 (diff)
Correct use-after-free in recent commit
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/space_view3d/view3d_edit.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c
index f49a7383715..762288acfab 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -4263,20 +4263,15 @@ static int background_image_remove_exec(bContext *C, wmOperator *op)
BGpic *bgpic_rem = BLI_findlink(&v3d->bgpicbase, index);
if (bgpic_rem) {
- ED_view3D_background_image_remove(v3d, bgpic_rem);
-
if (bgpic_rem->source == V3D_BGPIC_IMAGE) {
- Image *ima = bgpic_rem->ima;
- if (ima) {
- id_us_min(&ima->id);
- }
+ id_us_min((ID *)bgpic_rem->ima);
}
else if (bgpic_rem->source == V3D_BGPIC_MOVIE) {
- MovieClip *clip = bgpic_rem->clip;
- if (clip) {
- id_us_min(&clip->id);
- }
+ id_us_min((ID *)bgpic_rem->clip);
}
+
+ ED_view3D_background_image_remove(v3d, bgpic_rem);
+
WM_event_add_notifier(C, NC_SPACE | ND_SPACE_VIEW3D, v3d);
return OPERATOR_FINISHED;
}