[Bf-blender-cvs] [61cd0d5bd58] master: Fix T80597: Assigning material slot from Python console fails

Campbell Barton noreply at git.blender.org
Tue Sep 15 03:57:40 CEST 2020


Commit: 61cd0d5bd58115741e0089adf56ac42e5c79d96d
Author: Campbell Barton
Date:   Tue Sep 15 11:50:46 2020 +1000
Branches: master
https://developer.blender.org/rB61cd0d5bd58115741e0089adf56ac42e5c79d96d

Fix T80597: Assigning material slot from Python console fails

Regression in 12bc34b0b81b1, add assert so this doesn't happen again.

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

M	source/blender/blenkernel/intern/layer.c
M	source/blender/editors/object/object_edit.c

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

diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c
index dd8a22e10da..1d47fb002e6 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -1710,6 +1710,9 @@ void BKE_view_layer_bases_in_mode_iterator_begin(BLI_Iterator *iter, void *data_
   struct ObjectsInModeIteratorData *data = data_in;
   Base *base = data->base_active;
 
+  /* In this case the result will always be empty, the caller must check for no mode. */
+  BLI_assert(data->object_mode != 0);
+
   /* when there are no objects */
   if (base == NULL) {
     iter->valid = false;
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 7e0df736228..6dcb7e2a1b0 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -194,11 +194,13 @@ Object **ED_object_array_in_mode_or_selected(bContext *C,
     /* When in a mode that supports multiple active objects, use "objects in mode"
      * instead of the object's selection. */
     if ((ob_active != NULL) && (ob_active->mode & (OB_MODE_EDIT | OB_MODE_POSE))) {
-      objects = BKE_view_layer_array_from_objects_in_mode(
-          view_layer,
-          v3d,
-          r_objects_len,
-          {.no_dup_data = true, .filter_fn = filter_fn, .filter_userdata = filter_user_data});
+      objects = BKE_view_layer_array_from_objects_in_mode(view_layer,
+                                                          v3d,
+                                                          r_objects_len,
+                                                          {.object_mode = ob_active->mode,
+                                                           .no_dup_data = true,
+                                                           .filter_fn = filter_fn,
+                                                           .filter_userdata = filter_user_data});
     }
     else {
       objects = BKE_view_layer_array_selected_objects(



More information about the Bf-blender-cvs mailing list