[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56408] trunk/blender/source/blender/ blenloader/intern/readfile.c: Fix for #35147, view in backdrop and image editor in compositor don't work anymore.

Lukas Toenne lukas.toenne at googlemail.com
Tue Apr 30 09:40:15 CEST 2013


Revision: 56408
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56408
Author:   lukastoenne
Date:     2013-04-30 07:40:15 +0000 (Tue, 30 Apr 2013)
Log Message:
-----------
Fix for #35147, view in backdrop and image editor in compositor don't work anymore. The active_viewer_key which sets the active node tree to use for the viewer image was not initialized in do_versions yet.

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

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2013-04-30 07:34:23 UTC (rev 56407)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2013-04-30 07:40:15 UTC (rev 56408)
@@ -9396,6 +9396,41 @@
 		}
 	}
 
+	{
+		/* Initialize the active_viewer_key for compositing */
+		bScreen *screen;
+		Scene *scene;
+		bNodeInstanceKey active_viewer_key = {0};
+		/* simply pick the first node space and use that for the active viewer key */
+		for (screen = main->screen.first; screen; screen = screen->id.next) {
+			ScrArea *sa;
+			for (sa = screen->areabase.first; sa; sa = sa->next) {
+				SpaceLink *sl;
+				for (sl = sa->spacedata.first; sl; sl= sl->next) {
+					if (sl->spacetype == SPACE_NODE) {
+						SpaceNode *snode = (SpaceNode *)sl;
+						bNodeTreePath *path = snode->treepath.last;
+						if (!path)
+							continue;
+						
+						active_viewer_key = path->parent_key;
+						break;
+					}
+				}
+				if (active_viewer_key.value != 0)
+					break;
+			}
+			if (active_viewer_key.value != 0)
+				break;
+		}
+		
+		for (scene = main->scene.first; scene; scene = scene->id.next) {
+			/* NB: scene->nodetree is a local ID block, has been direct_link'ed */
+			if (scene->nodetree)
+				scene->nodetree->active_viewer_key = active_viewer_key;
+		}
+	}
+
 	/* WATCH IT!!!: pointers from libdata have not been converted yet here! */
 	/* WATCH IT 2!: Userdef struct init see do_versions_userdef() above! */
 




More information about the Bf-blender-cvs mailing list