[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26176] trunk/blender/source/blender/ editors/screen/screen_ops.c: Fix [#20538] exiting render turns my UV/ image editor back to a 3d view

Matt Ebb matt at mke3.net
Fri Jan 22 02:02:12 CET 2010


Revision: 26176
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26176
Author:   broken
Date:     2010-01-22 02:02:11 +0100 (Fri, 22 Jan 2010)

Log Message:
-----------
Fix [#20538] exiting render turns my UV/image editor back to a 3d view

Modified Paths:
--------------
    trunk/blender/source/blender/editors/screen/screen_ops.c

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2010-01-21 22:23:57 UTC (rev 26175)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2010-01-22 01:02:11 UTC (rev 26176)
@@ -2774,6 +2774,7 @@
 	Scene *scene= CTX_data_scene(C);
 	ScrArea *sa= NULL;
 	SpaceImage *sima;
+	int area_was_image=0;
 	
 	if(scene->r.displaymode==R_OUTPUT_WINDOW) {
 		rcti rect;
@@ -2798,6 +2799,9 @@
 		sa= CTX_wm_area(C);
 	}
 	else if(scene->r.displaymode==R_OUTPUT_SCREEN) {
+		if (CTX_wm_area(C)->spacetype == SPACE_IMAGE)
+			area_was_image = 1;
+		
 		/* this function returns with changed context */
 		ED_screen_full_newspace(C, CTX_wm_area(C), SPACE_IMAGE);
 		sa= CTX_wm_area(C);
@@ -2836,14 +2840,24 @@
 	/* get the correct image, and scale it */
 	sima->image= BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result");
 	
-	//	if(G.displaymode==2) { // XXX
+	
+	/* if we're rendering to full screen, set appropriate hints on image editor
+	 * so it can restore properly on pressing esc */
 	if(sa->full) {
-		sima->flag |= SI_FULLWINDOW|SI_PREVSPACE;
+		sima->flag |= SI_FULLWINDOW;
 		
-		//			ed_screen_fullarea(C, win, sa);
+		/* Tell the image editor to revert to previous space in space list on close
+		 * _only_ if it wasn't already an image editor when the render was invoked */
+		if (area_was_image == 0)
+			sima->flag |= SI_PREVSPACE;
+		else {
+			/* Leave it alone so the image editor will just go back from 
+			 * full screen to the original tiled setup */
+			;
+		}
+		
 	}
-	//	}
-	
+
 }
 
 /* executes blocking render */





More information about the Bf-blender-cvs mailing list