[Bf-blender-cvs] [217e0a2ce61] blender-v3.1-release: Fix T95262: instances ignored in Frame Selected operator

Jacques Lucke noreply at git.blender.org
Tue Feb 1 11:59:31 CET 2022


Commit: 217e0a2ce615921040da4b524d2393d4db5ab68e
Author: Jacques Lucke
Date:   Tue Feb 1 11:58:53 2022 +0100
Branches: blender-v3.1-release
https://developer.blender.org/rB217e0a2ce615921040da4b524d2393d4db5ab68e

Fix T95262: instances ignored in Frame Selected operator

The issue was that the code only looked at `dob->ob`
instead of `dob->ob_data` which is necessary since
rB5a9a16334c573c4566dc9b2a314cf0d0ccdcb54f.

This now uses the same pattern that is used in other places
where `BKE_object_replace_data_on_shallow_copy` is used.

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

M	source/blender/blenkernel/intern/object.cc

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

diff --git a/source/blender/blenkernel/intern/object.cc b/source/blender/blenkernel/intern/object.cc
index e177b1ce29e..f9484205ef6 100644
--- a/source/blender/blenkernel/intern/object.cc
+++ b/source/blender/blenkernel/intern/object.cc
@@ -4189,7 +4189,11 @@ bool BKE_object_minmax_dupli(Depsgraph *depsgraph,
       /* pass */
     }
     else {
-      BoundBox *bb = BKE_object_boundbox_get(dob->ob);
+      Object temp_ob = *dob->ob;
+      /* Do not modify the original boundbox. */
+      temp_ob.runtime.bb = nullptr;
+      BKE_object_replace_data_on_shallow_copy(&temp_ob, dob->ob_data);
+      BoundBox *bb = BKE_object_boundbox_get(&temp_ob);
 
       if (bb) {
         int i;
@@ -4201,6 +4205,8 @@ bool BKE_object_minmax_dupli(Depsgraph *depsgraph,
 
         ok = true;
       }
+
+      MEM_SAFE_FREE(temp_ob.runtime.bb);
     }
   }
   free_object_duplilist(lb); /* does restore */



More information about the Bf-blender-cvs mailing list