[Bf-blender-cvs] [496830a] soc-2016-multiview: add region free function

Tianwei Shen noreply at git.blender.org
Sat Aug 6 13:43:02 CEST 2016


Commit: 496830a2a31f698725b46f6e1aa15b02d364c981
Author: Tianwei Shen
Date:   Sat Aug 6 01:09:28 2016 +0800
Branches: soc-2016-multiview
https://developer.blender.org/rB496830a2a31f698725b46f6e1aa15b02d364c981

add region free function

fix region data free error

===================================================================

M	source/blender/editors/space_clip/space_clip.c

===================================================================

diff --git a/source/blender/editors/space_clip/space_clip.c b/source/blender/editors/space_clip/space_clip.c
index 27925fa..d6fa848 100644
--- a/source/blender/editors/space_clip/space_clip.c
+++ b/source/blender/editors/space_clip/space_clip.c
@@ -1222,7 +1222,13 @@ static void clip_main_region_draw(const bContext *C, ARegion *ar)
 	/* draw entirely, view changes should be handled here */
 	SpaceClip *sc = CTX_wm_space_clip(C);
 	RegionSpaceClip *rsc = CTX_wm_region_clip(C);
-	MovieClip *clip = ED_space_clip_get_clip(sc);
+	MovieClip *clip;
+	if (rsc->flag == RSC_MAIN_CLIP) {
+		clip = ED_space_clip_get_clip(sc);
+	}
+	else {
+		clip = ED_space_clip_get_secondary_clip(sc);
+	}
 	float aspx, aspy, zoomx, zoomy, x, y;
 	int width, height;
 	bool show_cursor = false;
@@ -1326,6 +1332,16 @@ static void clip_main_region_listener(bScreen *UNUSED(sc), ScrArea *UNUSED(sa),
 	}
 }
 
+static void clip_main_region_free(ARegion *ar)
+{
+	RegionSpaceClip *rsc = ar->regiondata;
+
+	if (rsc) {
+		MEM_freeN(rsc);
+		ar->regiondata = NULL;
+	}
+}
+
 /****************** preview region ******************/
 
 static void clip_preview_region_init(wmWindowManager *wm, ARegion *ar)
@@ -1630,6 +1646,7 @@ void ED_spacetype_clip(void)
 	art->init = clip_main_region_init;
 	art->draw = clip_main_region_draw;
 	art->listener = clip_main_region_listener;
+	art->free = clip_main_region_free;
 	art->keymapflag = ED_KEYMAP_FRAMES | ED_KEYMAP_UI | ED_KEYMAP_GPENCIL;
 
 	BLI_addhead(&st->regiontypes, art);




More information about the Bf-blender-cvs mailing list