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

Log Message:
-----------
svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 
-r28371:28372
console history save/load from joe

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

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c   2010-04-23 
09:13:52 UTC (rev 28372)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c   2010-04-23 
09:24:22 UTC (rev 28373)
@@ -5158,7 +5158,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);
@@ -5166,9 +5166,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: trunk/blender/source/blender/blenloader/intern/writefile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/writefile.c  2010-04-23 
09:13:52 UTC (rev 28372)
+++ trunk/blender/source/blender/blenloader/intern/writefile.c  2010-04-23 
09:24:22 UTC (rev 28373)
@@ -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);


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to