[Bf-blender-cvs] [25c918196ce] blender2.8: Fix T56500: Origin to geometry crashes on armature
Dalai Felinto
noreply at git.blender.org
Thu Aug 23 15:20:31 CEST 2018
Commit: 25c918196ce66eff4417d7d2e1d3da8c11d96735
Author: Dalai Felinto
Date: Wed Aug 22 17:02:37 2018 -0300
Branches: blender2.8
https://developer.blender.org/rB25c918196ce66eff4417d7d2e1d3da8c11d96735
Fix T56500: Origin to geometry crashes on armature
Reviewers: sergey
https://developer.blender.org/D3639
===================================================================
M source/blender/blenkernel/BKE_object.h
M source/blender/blenkernel/intern/object_update.c
M source/blender/editors/object/object_transform.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_object.h b/source/blender/blenkernel/BKE_object.h
index 7d795c25a04..90df5a5441a 100644
--- a/source/blender/blenkernel/BKE_object.h
+++ b/source/blender/blenkernel/BKE_object.h
@@ -308,6 +308,8 @@ struct MovieClip *BKE_object_movieclip_get(struct Scene *scene, struct Object *o
void BKE_object_runtime_reset(struct Object *object);
+void BKE_object_batch_cache_dirty(struct Object *ob);
+
/* this function returns a superset of the scenes selection based on relationships */
typedef enum eObRelationTypes {
diff --git a/source/blender/blenkernel/intern/object_update.c b/source/blender/blenkernel/intern/object_update.c
index 3641df26496..52e3d4a0803 100644
--- a/source/blender/blenkernel/intern/object_update.c
+++ b/source/blender/blenkernel/intern/object_update.c
@@ -302,14 +302,8 @@ void BKE_object_eval_uber_transform(Depsgraph *depsgraph, Object *object)
BKE_object_eval_proxy_copy(depsgraph, object);
}
-void BKE_object_eval_uber_data(Depsgraph *depsgraph,
- Scene *scene,
- Object *ob)
+void BKE_object_batch_cache_dirty(Object *ob)
{
- DEG_debug_print_eval(depsgraph, __func__, ob->id.name, ob);
- BLI_assert(ob->type != OB_ARMATURE);
- BKE_object_handle_data_update(depsgraph, scene, ob);
-
switch (ob->type) {
case OB_MESH:
BKE_mesh_batch_cache_dirty(ob->data, BKE_MESH_BATCH_DIRTY_ALL);
@@ -331,6 +325,16 @@ void BKE_object_eval_uber_data(Depsgraph *depsgraph,
}
}
+void BKE_object_eval_uber_data(Depsgraph *depsgraph,
+ Scene *scene,
+ Object *ob)
+{
+ DEG_debug_print_eval(depsgraph, __func__, ob->id.name, ob);
+ BLI_assert(ob->type != OB_ARMATURE);
+ BKE_object_handle_data_update(depsgraph, scene, ob);
+ BKE_object_batch_cache_dirty(ob);
+}
+
void BKE_object_eval_cloth(Depsgraph *depsgraph,
Scene *scene,
Object *object)
diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c
index 96b540251b4..fb54c9ec2c2 100644
--- a/source/blender/editors/object/object_transform.c
+++ b/source/blender/editors/object/object_transform.c
@@ -1216,7 +1216,7 @@ static int object_origin_set_exec(bContext *C, wmOperator *op)
for (tob = bmain->object.first; tob; tob = tob->id.next) {
if (tob->data && (((ID *)tob->data)->tag & LIB_TAG_DOIT)) {
- BKE_mesh_batch_cache_dirty(tob->data, BKE_MESH_BATCH_DIRTY_ALL);
+ BKE_object_batch_cache_dirty(tob);
DEG_id_tag_update(&tob->id, OB_RECALC_OB | OB_RECALC_DATA);
}
}
More information about the Bf-blender-cvs
mailing list