[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28372] branches/render25/source/blender/ blenloader/intern: console history is now saved in .blends

Joseph Eagar joeedh at gmail.com
Fri Apr 23 11:13:52 CEST 2010


Revision: 28372
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28372
Author:   joeedh
Date:     2010-04-23 11:13:52 +0200 (Fri, 23 Apr 2010)

Log Message:
-----------
console history is now saved in .blends

Modified Paths:
--------------
    branches/render25/source/blender/blenloader/intern/readfile.c
    branches/render25/source/blender/blenloader/intern/writefile.c

Modified: branches/render25/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/render25/source/blender/blenloader/intern/readfile.c	2010-04-23 08:39:10 UTC (rev 28371)
+++ branches/render25/source/blender/blenloader/intern/readfile.c	2010-04-23 09:13:52 UTC (rev 28372)
@@ -5159,7 +5159,7 @@
 			}
 			else if(sl->spacetype==SPACE_CONSOLE) {
 				SpaceConsole *sconsole= (SpaceConsole *)sl;
-				//ConsoleLine *cl;
+				ConsoleLine *cl, *clnext;
 				
 				link_list(fd, &sconsole->scrollback);
 				link_list(fd, &sconsole->history);
@@ -5167,9 +5167,16 @@
 				//for(cl= sconsole->scrollback.first; cl; cl= cl->next)
 				//	cl->line= newdataadr(fd, cl->line);
 				
-				//for(cl= sconsole->history.first; cl; cl= cl->next)
-				//	cl->line= newdataadr(fd, cl->line);
-				
+				/*comma expressions, (e.g. expr1, expr2, expr3) evalutate each expression,
+				  from left to right.  the right-most expression sets the result of the comma
+				  expression as a whole*/
+				for(cl= sconsole->history.first; cl && (clnext=cl->next), cl; cl= clnext) {
+					cl->line= newdataadr(fd, cl->line);
+					if (!cl->line) {
+						BLI_remlink(&sconsole->history, cl);
+						MEM_freeN(cl);
+					}
+				}
 			}
 			else if(sl->spacetype==SPACE_FILE) {
 				SpaceFile *sfile= (SpaceFile *)sl;

Modified: branches/render25/source/blender/blenloader/intern/writefile.c
===================================================================
--- branches/render25/source/blender/blenloader/intern/writefile.c	2010-04-23 08:39:10 UTC (rev 28371)
+++ branches/render25/source/blender/blenloader/intern/writefile.c	2010-04-23 09:13:52 UTC (rev 28372)
@@ -2108,7 +2108,15 @@
 					writestruct(wd, DATA, "SpaceLogic", 1, sl);
 				}
 				else if(sl->spacetype==SPACE_CONSOLE) {
+					SpaceConsole *con = (SpaceConsole*)sl;
+					ConsoleLine *cl;
+
+					for (cl=con->history.first; cl; cl=cl->next) {
+						writestruct(wd, DATA, "ConsoleLine", 1, cl);
+						writedata(wd, DATA, cl->len+1, cl->line);
+					}
 					writestruct(wd, DATA, "SpaceConsole", 1, sl);
+
 				}
 				else if(sl->spacetype==SPACE_USERPREF) {
 					writestruct(wd, DATA, "SpaceUserPref", 1, sl);





More information about the Bf-blender-cvs mailing list