Skip to content

Commit c243c13

Browse files
committed
framebufferio: Handle auto refresh flag at reset
if we don't set the flag via accessor fn the tick enable might become wrong
1 parent 9fd1032 commit c243c13

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

shared-module/displayio/__init__.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,7 @@ void reset_displays(void) {
190190
common_hal_displayio_epaperdisplay_show(display, NULL);
191191
#if CIRCUITPY_FRAMEBUFFERIO
192192
} else if (displays[i].framebuffer_display.base.type == &framebufferio_framebufferdisplay_type) {
193-
framebufferio_framebufferdisplay_obj_t* display = &displays[i].framebuffer_display;
194-
display->auto_refresh = true;
195-
common_hal_framebufferio_framebufferdisplay_show(display, NULL);
193+
framebufferio_framebufferdisplay_reset(&displays[i].framebuffer_display);
196194
#endif
197195
}
198196
}

shared-module/framebufferio/FramebufferDisplay.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,3 +318,8 @@ void framebufferio_framebufferdisplay_collect_ptrs(framebufferio_framebufferdisp
318318
gc_collect_ptr(self->framebuffer);
319319
displayio_display_core_collect_ptrs(&self->core);
320320
}
321+
322+
void framebufferio_framebufferdisplay_reset(framebufferio_framebufferdisplay_obj_t* self) {
323+
common_hal_framebufferio_framebufferdisplay_set_auto_refresh(self, true);
324+
common_hal_framebufferio_framebufferdisplay_show(self, NULL);
325+
}

shared-module/framebufferio/FramebufferDisplay.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ typedef struct {
5555
void framebufferio_framebufferdisplay_background(framebufferio_framebufferdisplay_obj_t* self);
5656
void release_framebufferdisplay(framebufferio_framebufferdisplay_obj_t* self);
5757
void reset_framebufferdisplay(framebufferio_framebufferdisplay_obj_t* self);
58+
void framebufferio_framebufferdisplay_reset(framebufferio_framebufferdisplay_obj_t* self);
5859

5960
void framebufferio_framebufferdisplay_collect_ptrs(framebufferio_framebufferdisplay_obj_t* self);
6061

0 commit comments

Comments
 (0)