Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2020-09-15 04:50:46 +0300
committerCampbell Barton <ideasman42@gmail.com>2020-09-15 04:56:31 +0300
commit61cd0d5bd58115741e0089adf56ac42e5c79d96d (patch)
tree469b4b23682c6d7d78b68eb4f13174f397185216 /source
parent210c721b4d3cb9e4be1ba2622584330122bd57b6 (diff)
Fix T80597: Assigning material slot from Python console fails
Regression in 12bc34b0b81b1, add assert so this doesn't happen again.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/layer.c3
-rw-r--r--source/blender/editors/object/object_edit.c12
2 files changed, 10 insertions, 5 deletions
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(