Fix #131316: Edit overlays rendered for geometry instances

Geometry instances shouldn't be drawn with cage overlays or other
edit mode overlays since they don't necessarily correspond to original
data. In this case the draw manager thought they were in edit mode
because the object data is copied from the instance parent-- we need
_some_ object for rendering.

Pull Request: https://projects.blender.org/blender/blender/pulls/132081
This commit is contained in:
Hans Goudey
2024-12-19 02:42:14 +01:00
committed by Hans Goudey
parent 85ee7b9f24
commit a67b5f6f63

View File

@@ -594,7 +594,9 @@ static void duplidata_key_free(void *key)
drw_batch_cache_generate_requested(dupli_key->ob);
}
else {
/* Geometry instances shouldn't be rendered with edit mode overlays. */
Object temp_object = blender::dna::shallow_copy(*dupli_key->ob);
temp_object.mode = OB_MODE_OBJECT;
blender::bke::ObjectRuntime runtime = *dupli_key->ob->runtime;
temp_object.runtime = &runtime;