[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