Commit: dbb479b998a63bec22ebc3173b22420c955892dd
Author: Gaia Clary
Date:   Sat Dec 1 15:38:18 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBdbb479b998a63bec22ebc3173b22420c955892dd

fix: Collada exporter has similar issue as reproted in T58150

===================================================================

M       source/blender/collada/BlenderContext.cpp
M       source/blender/collada/BlenderContext.h
M       source/blender/collada/collada_utils.cpp

===================================================================

diff --git a/source/blender/collada/BlenderContext.cpp 
b/source/blender/collada/BlenderContext.cpp
index fcfd9241649..2281b3dd529 100644
--- a/source/blender/collada/BlenderContext.cpp
+++ b/source/blender/collada/BlenderContext.cpp
@@ -54,6 +54,18 @@ Scene *BlenderContext::get_scene()
        return scene;
 }
 
+Scene *BlenderContext::get_evaluated_scene()
+{
+       Scene *scene_eval = DEG_get_evaluated_scene(get_depsgraph());
+       return scene_eval;
+}
+
+Object *BlenderContext::get_evaluated_object(Object *ob)
+{
+       Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob);
+       return ob_eval;
+}
+
 ViewLayer *BlenderContext::get_view_layer()
 {
        return view_layer;
diff --git a/source/blender/collada/BlenderContext.h 
b/source/blender/collada/BlenderContext.h
index 648d97a7e86..e6157a5a7f2 100644
--- a/source/blender/collada/BlenderContext.h
+++ b/source/blender/collada/BlenderContext.h
@@ -49,6 +49,8 @@ public:
        bContext *get_context();
        Depsgraph *get_depsgraph();
        Scene *get_scene();
+       Scene *get_evaluated_scene();
+       Object *get_evaluated_object(Object *ob);
        ViewLayer *get_view_layer();
        Main *get_main();
 };
diff --git a/source/blender/collada/collada_utils.cpp 
b/source/blender/collada/collada_utils.cpp
index f5be93195ab..33f74968782 100644
--- a/source/blender/collada/collada_utils.cpp
+++ b/source/blender/collada/collada_utils.cpp
@@ -263,7 +263,6 @@ Mesh *bc_get_mesh_copy(
        bool triangulate)
 {
        CustomDataMask mask = CD_MASK_MESH;
-       Mesh *mesh = (Mesh *)ob->data;
        Mesh *tmpmesh = NULL;
        if (apply_modifiers) {
 #if 0  /* Not supported by new system currently... */
@@ -281,12 +280,13 @@ Mesh *bc_get_mesh_copy(
                }
 #else
                Depsgraph *depsgraph = blender_context.get_depsgraph();
-               Scene *scene = blender_context.get_scene();
-               tmpmesh = mesh_get_eval_final(depsgraph, scene, ob, mask);
+               Scene *scene_eval = blender_context.get_evaluated_scene();
+               Object *ob_eval = blender_context.get_evaluated_object(ob);
+               tmpmesh = mesh_get_eval_final(depsgraph, scene_eval, ob_eval, 
mask);
 #endif
        }
        else {
-               tmpmesh = mesh;
+               tmpmesh = (Mesh *)ob->data;
        }
 
        BKE_id_copy_ex(NULL, &tmpmesh->id, (ID **)&tmpmesh,

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to