Commit: 16a290bb6fd8e9b16c10b92328ad60d451ec5e2c Author: Bastien Montagne Date: Mon Feb 18 18:15:00 2019 +0100 Branches: master https://developer.blender.org/rB16a290bb6fd8e9b16c10b92328ad60d451ec5e2c
Fix Object bbox memleak in depsgraph code. Caused by rBae2b677dcb5a70f5, Object.runtime has lot of weird specific handlings in depsgraph... For now modified `deg_backup_object_runtime()` and `deg_restore_object_runtime()` to mimic previous behavior regarding Object bbox (i.e. pass it around, instead of wiping it clean). Reported in T61660. =================================================================== M source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc =================================================================== diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc index f3a56cd9de1..7775a2b3cd2 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc +++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc @@ -815,6 +815,8 @@ static void deg_backup_object_runtime( Mesh *mesh_eval = object->runtime.mesh_eval; object_runtime_backup->runtime = object->runtime; BKE_object_runtime_reset(object); + /* Keep bbox (for now at least...). */ + object->runtime.bb = object_runtime_backup->runtime.bb; /* Object update will override actual object->data to an evaluated version. * Need to make sure we don't have data set to evaluated one before free * anything. */ @@ -831,8 +833,10 @@ static void deg_restore_object_runtime( const ObjectRuntimeBackup *object_runtime_backup) { Mesh *mesh_orig = object->runtime.mesh_orig; + BoundBox *bb = object->runtime.bb; object->runtime = object_runtime_backup->runtime; object->runtime.mesh_orig = mesh_orig; + object->runtime.bb = bb; if (object->type == OB_MESH && object->runtime.mesh_eval != NULL) { if (object->id.recalc & ID_RECALC_GEOMETRY) { /* If geometry is tagged for update it means, that part of _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs