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
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2021-08-05 09:44:03 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-08-05 09:44:03 +0300
commitd8582d966fe4ae46c82fcbb69d3d0ca62238ea93 (patch)
tree509b2691a506ff69786bf0ef453a306862f2934d /source/blender/python/bmesh/bmesh_py_types_select.c
parent2b51124d6a59bedf00397d4ef2fd4442c4fddd22 (diff)
Fix slicing with negative indices
Negative indices that remained negative after adding the sequence length caused incorrect slicing. With the default scene for example: bpy.context.scene.objects[-4:2] Gave a different result to: tuple(bpy.context.scene.objects)[-4:2] Clamp indices above zero so loops that step forward works as intended.
Diffstat (limited to 'source/blender/python/bmesh/bmesh_py_types_select.c')
-rw-r--r--source/blender/python/bmesh/bmesh_py_types_select.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/python/bmesh/bmesh_py_types_select.c b/source/blender/python/bmesh/bmesh_py_types_select.c
index 99f17bcec8f..b89822a080c 100644
--- a/source/blender/python/bmesh/bmesh_py_types_select.c
+++ b/source/blender/python/bmesh/bmesh_py_types_select.c
@@ -273,9 +273,11 @@ static PyObject *bpy_bmeditselseq_subscript(BPy_BMEditSelSeq *self, PyObject *ke
const Py_ssize_t len = bpy_bmeditselseq_length(self);
if (start < 0) {
start += len;
+ CLAMP_MIN(start, 0);
}
if (stop < 0) {
stop += len;
+ CLAMP_MIN(stop, 0);
}
}