[Bf-blender-cvs] [205afa0] multiview: Multiview: fix for crash when stereo was off

Dalai Felinto noreply at git.blender.org
Sat May 10 20:18:19 CEST 2014


Commit: 205afa0a0688ef387ff1b261cfdff577ebbd84da
Author: Dalai Felinto
Date:   Sat May 10 14:59:58 2014 -0300
https://developer.blender.org/rB205afa0a0688ef387ff1b261cfdff577ebbd84da

Multiview: fix for crash when stereo was off

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

M	source/blender/windowmanager/intern/wm_draw.c

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

diff --git a/source/blender/windowmanager/intern/wm_draw.c b/source/blender/windowmanager/intern/wm_draw.c
index d4c66ea..70e835c 100644
--- a/source/blender/windowmanager/intern/wm_draw.c
+++ b/source/blender/windowmanager/intern/wm_draw.c
@@ -585,7 +585,7 @@ static void wm_method_draw_triple(bContext *C, wmWindow *win)
 {
 	wmWindowManager *wm = CTX_wm_manager(C);
 	wmDrawTriple *triple;
-	wmDrawData *dd, *drawdata = (wmDrawData *) win->drawdata.first;
+	wmDrawData *dd, *dd_next, *drawdata = (wmDrawData *) win->drawdata.first;
 	bScreen *screen = win->screen;
 	ScrArea *sa;
 	ARegion *ar;
@@ -616,9 +616,11 @@ static void wm_method_draw_triple(bContext *C, wmWindow *win)
 
 	/* it means stereo was just turned off */
 	/* note: we are removing all drawdatas that are not the first */
-	for (dd = drawdata->next; dd; dd = dd->next) {
-		wm_draw_triple_free(dd->triple);
+	for (dd = drawdata->next; dd; dd = dd_next) {
+		dd_next = dd->next;
+
 		BLI_remlink(&win->drawdata, dd);
+		wm_draw_triple_free(dd->triple);
 		MEM_freeN(dd);
 	}




More information about the Bf-blender-cvs mailing list