Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-03-12 13:11:18 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-03-12 16:24:53 +0300
commit13d443496c303c268fe14a4770696b5b68af61eb (patch)
tree2af9e863d2bcd74dff42b245eae6e30d88dc4650 /intern/cycles
parentcef379242bf2e30522f7b73dcc13c79f45b4e9ef (diff)
Partial fix for T43967: Background is wrong in 2.74
Was missing do-versions code after rotation order change in Cycles. This is a regression and to be ported to the final release branch.
Diffstat (limited to 'intern/cycles')
-rw-r--r--intern/cycles/blender/addon/version_update.py34
1 files changed, 30 insertions, 4 deletions
diff --git a/intern/cycles/blender/addon/version_update.py b/intern/cycles/blender/addon/version_update.py
index 741c2010774..2fbb01ba5b8 100644
--- a/intern/cycles/blender/addon/version_update.py
+++ b/intern/cycles/blender/addon/version_update.py
@@ -21,10 +21,8 @@ import bpy
from bpy.app.handlers import persistent
-def check_is_new_shading_material(material):
- if not material.node_tree:
- return False
- for node in material.node_tree.nodes:
+def check_is_new_shading_ntree(node_tree):
+ for node in node_tree.nodes:
# If material has any node with ONLY new shading system
# compatibility then it's considered a Cycles material
# and versioning code would need to perform on it.
@@ -44,6 +42,24 @@ def check_is_new_shading_material(material):
return False
+def check_is_new_shading_material(material):
+ if not material.node_tree:
+ return False
+ return check_is_new_shading_ntree(material.node_tree)
+
+
+def check_is_new_shading_world(world):
+ if not world.node_tree:
+ return False
+ return check_is_new_shading_ntree(world.node_tree)
+
+
+def check_is_new_shading_lamp(lamp):
+ if not lamp.node_tree:
+ return False
+ return check_is_new_shading_ntree(lamp.node_tree)
+
+
def foreach_notree_node(nodetree, callback, traversed):
if nodetree in traversed:
return
@@ -61,6 +77,16 @@ def foreach_cycles_node(callback):
foreach_notree_node(material.node_tree,
callback,
traversed)
+ for world in bpy.data.worlds:
+ if check_is_new_shading_world(world):
+ foreach_notree_node(world.node_tree,
+ callback,
+ traversed)
+ for lamp in bpy.data.lamps:
+ if check_is_new_shading_world(lamp):
+ foreach_notree_node(lamp.node_tree,
+ callback,
+ traversed)
def mapping_node_order_flip(node):