Revision: 30660
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30660
Author:   blendix
Date:     2010-07-23 18:50:25 +0200 (Fri, 23 Jul 2010)

Log Message:
-----------
Fix #20863: when loading a file without UI, with multiple windows open,
the other windows would not preserve the screens correctly, code for
reading 2.4x files was running when it didn't need to.

Modified Paths:
--------------
    trunk/blender/source/blender/windowmanager/intern/wm_files.c

Modified: trunk/blender/source/blender/windowmanager/intern/wm_files.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_files.c        
2010-07-23 16:48:45 UTC (rev 30659)
+++ trunk/blender/source/blender/windowmanager/intern/wm_files.c        
2010-07-23 16:50:25 UTC (rev 30660)
@@ -179,21 +179,23 @@
                
                /* we've read file without wm..., keep current one entirely 
alive */
                if(G.main->wm.first==NULL) {
-                       bScreen *screen= CTX_wm_screen(C);
-                       
-                       /* match oldwm to new dbase, only old files */
-                       
-                       for(wm= oldwmlist->first; wm; wm= wm->id.next) {
-                               
-                               for(win= wm->windows.first; win; win= 
win->next) {
-                                       /* all windows get active screen from 
file */
-                                       if(screen->winid==0)
-                                               win->screen= screen;
-                                       else 
-                                               win->screen= 
ED_screen_duplicate(win, screen);
+                       /* when loading without UI, no matching needed */
+                       if(!(G.fileflags & G_FILE_NO_UI)) {
+                               bScreen *screen= CTX_wm_screen(C);
+
+                               /* match oldwm to new dbase, only old files */
+                               for(wm= oldwmlist->first; wm; wm= wm->id.next) {
                                        
-                                       BLI_strncpy(win->screenname, 
win->screen->id.name+2, 21);
-                                       win->screen->winid= win->winid;
+                                       for(win= wm->windows.first; win; win= 
win->next) {
+                                               /* all windows get active 
screen from file */
+                                               if(screen->winid==0)
+                                                       win->screen= screen;
+                                               else 
+                                                       win->screen= 
ED_screen_duplicate(win, screen);
+                                               
+                                               BLI_strncpy(win->screenname, 
win->screen->id.name+2, 21);
+                                               win->screen->winid= win->winid;
+                                       }
                                }
                        }
                        


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

Reply via email to