Skip to content

Commit 6412d97

Browse files
committed
displayio: Set in_group to false when removing a layer from a group
Otherwise the removed layer cannot be re-added.
1 parent 906cd6e commit 6412d97

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

shared-module/displayio/Group.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,13 +310,15 @@ static void _remove_layer(displayio_group_t *self, size_t index) {
310310
self->members->items[index], &displayio_tilegrid_type);
311311
if (layer != MP_OBJ_NULL) {
312312
displayio_tilegrid_t *tilegrid = layer;
313+
tilegrid->in_group = false;
313314
rendered_last_frame = displayio_tilegrid_get_previous_area(tilegrid, &layer_area);
314315
displayio_tilegrid_update_transform(tilegrid, NULL);
315316
}
316317
layer = mp_obj_cast_to_native_base(
317318
self->members->items[index], &displayio_group_type);
318319
if (layer != MP_OBJ_NULL) {
319320
displayio_group_t *group = layer;
321+
group->in_group = false;
320322
rendered_last_frame = displayio_group_get_previous_area(group, &layer_area);
321323
displayio_group_update_transform(group, NULL);
322324
}

0 commit comments

Comments
 (0)