summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMargaret Matocha <ksmatocha@gmail.com>2020-07-27 22:25:21 -0500
committerMargaret Matocha <ksmatocha@gmail.com>2020-07-27 22:25:21 -0500
commitdb26e894fbded0abee713138dc16b63a047aba52 (patch)
tree88626b454bd4bbc3be628e2cc9d65e4c886a9c0b
parent7eb60b62b867a5e16138fc0b09a7c043f791b5f5 (diff)
Updated Group.c to correct bug with insert into groups
-rwxr-xr-xmpy-cross/mpy-cross-3.x-macos-high-sierrabin0 -> 211959 bytes
-rw-r--r--shared-bindings/displayio/Group.c11
2 files changed, 8 insertions, 3 deletions
diff --git a/mpy-cross/mpy-cross-3.x-macos-high-sierra b/mpy-cross/mpy-cross-3.x-macos-high-sierra
new file mode 100755
index 000000000..5f461a238
--- /dev/null
+++ b/mpy-cross/mpy-cross-3.x-macos-high-sierra
Binary files differ
diff --git a/shared-bindings/displayio/Group.c b/shared-bindings/displayio/Group.c
index dd7600eb9..5c6f25dba 100644
--- a/shared-bindings/displayio/Group.c
+++ b/shared-bindings/displayio/Group.c
@@ -215,9 +215,14 @@ MP_DEFINE_CONST_FUN_OBJ_2(displayio_group_append_obj, displayio_group_obj_append
//|
STATIC mp_obj_t displayio_group_obj_insert(mp_obj_t self_in, mp_obj_t index_obj, mp_obj_t layer) {
displayio_group_t *self = native_group(self_in);
- size_t index = mp_get_index(&displayio_group_type, common_hal_displayio_group_get_len(self), index_obj, false);
- common_hal_displayio_group_insert(self, index, layer);
- return mp_const_none;
+ if ((size_t) MP_OBJ_SMALL_INT_VALUE(index_obj) == common_hal_displayio_group_get_len(self)){
+ return displayio_group_obj_append(self_in, layer);
+ }
+ else {
+ size_t index = mp_get_index(&displayio_group_type, common_hal_displayio_group_get_len(self), index_obj, false);
+ common_hal_displayio_group_insert(self, index, layer);
+ return mp_const_none;
+ }
}
MP_DEFINE_CONST_FUN_OBJ_3(displayio_group_insert_obj, displayio_group_obj_insert);