Merge branch 'master' into blender2.8
[blender.git] / source / blender / blenkernel / intern / action.c
index 5bd6085c8f5e2433b45eb3fb6e752516107b4f5e..6f7b3286e40a45fb3466a15604ef4065e1bee318 100644 (file)
@@ -55,7 +55,6 @@
 #include "BKE_animsys.h"
 #include "BKE_constraint.h"
 #include "BKE_deform.h"
-#include "BKE_depsgraph.h"
 #include "BKE_fcurve.h"
 #include "BKE_global.h"
 #include "BKE_idprop.h"
@@ -65,6 +64,8 @@
 #include "BKE_main.h"
 #include "BKE_object.h"
 
+#include "DEG_depsgraph_build.h"
+
 #include "BIK_api.h"
 
 #include "RNA_access.h"
@@ -587,6 +588,8 @@ void BKE_pose_copy_data_ex(bPose **dst, const bPose *src, const int flag, const
                if (pchan->prop) {
                        pchan->prop = IDP_CopyProperty_ex(pchan->prop, flag);
                }
+
+               pchan->draw_data = NULL;  /* Drawing cache, no need to copy. */
        }
 
        /* for now, duplicate Bone Groups too when doing this */
@@ -780,6 +783,9 @@ void BKE_pose_channel_free_ex(bPoseChannel *pchan, bool do_id_user)
                IDP_FreeProperty(pchan->prop);
                MEM_freeN(pchan->prop);
        }
+
+       /* Cached data, for new draw manager rendering code. */
+       MEM_SAFE_FREE(pchan->draw_data);
 }
 
 void BKE_pose_channel_free(bPoseChannel *pchan)
@@ -1423,7 +1429,7 @@ void BKE_pose_tag_recalc(Main *bmain, bPose *pose)
        /* Depsgraph components depends on actual pose state,
         * if pose was changed depsgraph is to be updated as well.
         */
-       DAG_relations_tag_update(bmain);
+       DEG_relations_tag_update(bmain);
 }
 
 /* For the calculation of the effects of an Action at the given frame on an object