summaryrefslogtreecommitdiff
path: root/shared-module/framebufferio/FramebufferDisplay.c
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2020-07-31 14:35:00 -0500
committerJeff Epler <jepler@gmail.com>2020-08-12 07:32:18 -0500
commit5a7b2a20381513797b4e548684f8af5af46be0fa (patch)
treea674ad31a866054a12e9b9456bc2337abd0e7e3f /shared-module/framebufferio/FramebufferDisplay.c
parentffc488e748890976fe1923c5503300f66064d904 (diff)
framebufferio: Don't call swapbuffers unnecessarily
Diffstat (limited to 'shared-module/framebufferio/FramebufferDisplay.c')
-rw-r--r--shared-module/framebufferio/FramebufferDisplay.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/shared-module/framebufferio/FramebufferDisplay.c b/shared-module/framebufferio/FramebufferDisplay.c
index 73917b1a3..fed3352aa 100644
--- a/shared-module/framebufferio/FramebufferDisplay.c
+++ b/shared-module/framebufferio/FramebufferDisplay.c
@@ -219,12 +219,14 @@ STATIC void _refresh_display(framebufferio_framebufferdisplay_obj_t* self) {
displayio_display_core_start_refresh(&self->core);
self->framebuffer_protocol->get_bufinfo(self->framebuffer, &self->bufinfo);
const displayio_area_t* current_area = _get_refresh_areas(self);
- while (current_area != NULL) {
- _refresh_area(self, current_area);
- current_area = current_area->next;
+ if (current_area) {
+ while (current_area != NULL) {
+ _refresh_area(self, current_area);
+ current_area = current_area->next;
+ }
+ self->framebuffer_protocol->swapbuffers(self->framebuffer);
}
displayio_display_core_finish_refresh(&self->core);
- self->framebuffer_protocol->swapbuffers(self->framebuffer);
}
void common_hal_framebufferio_framebufferdisplay_set_rotation(framebufferio_framebufferdisplay_obj_t* self, int rotation){