[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56404] trunk/blender/source/blender/ editors/space_node/node_edit.c: Fix #35144: Image editor is not updateing if in new window

Sergey Sharybin sergey.vfx at gmail.com
Tue Apr 30 08:03:18 CEST 2013


Revision: 56404
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56404
Author:   nazgul
Date:     2013-04-30 06:03:17 +0000 (Tue, 30 Apr 2013)
Log Message:
-----------
Fix #35144: Image editor is not updateing if in new window

Was a regression in own optimization on which viewer node to
update -- need to check all the windows' screens, not just
active one.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_node/node_edit.c

Modified: trunk/blender/source/blender/editors/space_node/node_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_node/node_edit.c	2013-04-30 04:42:31 UTC (rev 56403)
+++ trunk/blender/source/blender/editors/space_node/node_edit.c	2013-04-30 06:03:17 UTC (rev 56404)
@@ -128,25 +128,30 @@
 
 static int compo_get_recalc_flags(const bContext *C)
 {
-	bScreen *sc = CTX_wm_screen(C);
-	ScrArea *sa;
+	wmWindowManager *wm = CTX_wm_manager(C);
+	wmWindow *win;
 	int recalc_flags = 0;
 
-	for (sa = sc->areabase.first; sa; sa = sa->next) {
-		if (sa->spacetype == SPACE_IMAGE) {
-			SpaceImage *sima = sa->spacedata.first;
-			if (sima->image) {
-				if (sima->image->type == IMA_TYPE_R_RESULT)
-					recalc_flags |= COM_RECALC_COMPOSITE;
-				else if (sima->image->type == IMA_TYPE_COMPOSITE)
+	for (win = wm->windows.first; win; win = win->next) {
+		bScreen *sc = win->screen;
+		ScrArea *sa;
+
+		for (sa = sc->areabase.first; sa; sa = sa->next) {
+			if (sa->spacetype == SPACE_IMAGE) {
+				SpaceImage *sima = sa->spacedata.first;
+				if (sima->image) {
+					if (sima->image->type == IMA_TYPE_R_RESULT)
+						recalc_flags |= COM_RECALC_COMPOSITE;
+					else if (sima->image->type == IMA_TYPE_COMPOSITE)
+						recalc_flags |= COM_RECALC_VIEWER;
+				}
+			}
+			else if (sa->spacetype == SPACE_NODE) {
+				SpaceNode *snode = sa->spacedata.first;
+				if (snode->flag & SNODE_BACKDRAW)
 					recalc_flags |= COM_RECALC_VIEWER;
 			}
 		}
-		else if (sa->spacetype == SPACE_NODE) {
-			SpaceNode *snode = sa->spacedata.first;
-			if (snode->flag & SNODE_BACKDRAW)
-				recalc_flags |= COM_RECALC_VIEWER;
-		}
 	}
 
 	return recalc_flags;




More information about the Bf-blender-cvs mailing list