[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25483] trunk/blender/source/blender/ blenloader/intern/readfile.c: Fix do_version for new preview region ( for real this time).

Martin Poirier theeth at yahoo.com
Sun Dec 20 16:23:29 CET 2009


Revision: 25483
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25483
Author:   theeth
Date:     2009-12-20 16:23:29 +0100 (Sun, 20 Dec 2009)

Log Message:
-----------
Fix do_version for new preview region (for real this time).

First spacedata has empty region base and uses the one in ScrArea. Need to account for that.

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2009-12-20 11:04:11 UTC (rev 25482)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2009-12-20 15:23:29 UTC (rev 25483)
@@ -10225,8 +10225,16 @@
 				for(sl= sa->spacedata.first; sl; sl= sl->next) {
 					if(sl->spacetype!=SPACE_SEQ) {
 						ARegion *ar;
+						ListBase *regionbase;
 
-						for( ar = sl->regionbase.first; ar; ar = ar->next) {
+						if (sl == sa->spacedata.first) {
+							regionbase = &sa->regionbase;
+						} else {
+							regionbase = &sl->regionbase;
+						}
+
+
+						for( ar = regionbase->first; ar; ar = ar->next) {
 							if (ar->regiontype == RGN_TYPE_PREVIEW)
 								break;
 						}
@@ -10234,24 +10242,10 @@
 						if (ar) {
 							SpaceType *st= BKE_spacetype_from_id(SPACE_SEQ);
 							BKE_area_region_free(st, ar);
-							BLI_freelinkN(&sl->regionbase, ar);
+							BLI_freelinkN(regionbase, ar);
 						}
 					}
 				}
-				if(sa->spacetype!=SPACE_SEQ) {
-					ARegion *ar;
-
-					for( ar = sa->regionbase.first; ar; ar = ar->next) {
-						if (ar->regiontype == RGN_TYPE_PREVIEW)
-							break;
-					}
-
-					if (ar) {
-						SpaceType *st= BKE_spacetype_from_id(SPACE_SEQ);
-						BKE_area_region_free(st, ar);
-						BLI_freelinkN(&sa->regionbase, ar);
-					}
-				}
 			}
 		}
 	}
@@ -10271,19 +10265,25 @@
 						if(sl->spacetype==SPACE_SEQ) {
 							ARegion *ar;
 							ARegion *ar_main;
-							ListBase *lb = &sl->regionbase;
+							ListBase *regionbase;
 							SpaceSeq *sseq = (SpaceSeq *)sl;
 
+							if (sl == sa->spacedata.first) {
+								regionbase = &sa->regionbase;
+							} else {
+								regionbase = &sl->regionbase;
+							}
+
 							if (sseq->view == 0) sseq->view = SEQ_VIEW_SEQUENCE;
 							if (sseq->mainb == 0) sseq->mainb = SEQ_DRAW_IMG_IMBUF;
 
-							ar_main = (ARegion*)lb->first;
+							ar_main = (ARegion*)regionbase->first;
 							for (; ar_main; ar_main = ar_main->next) {
 								if (ar_main->regiontype == RGN_TYPE_WINDOW)
 									break;
 							}
 							ar= MEM_callocN(sizeof(ARegion), "preview area for sequencer");
-							BLI_insertlinkbefore(lb, ar_main, ar);
+							BLI_insertlinkbefore(regionbase, ar_main, ar);
 							ar->regiontype= RGN_TYPE_PREVIEW;
 							ar->alignment= RGN_ALIGN_TOP;
 							ar->flag |= RGN_FLAG_HIDDEN;





More information about the Bf-blender-cvs mailing list