Skip to content

Commit 60df4be

Browse files
committed
don't cleanup if we havent used it yet.
1 parent 20c20e4 commit 60df4be

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

shared-module/displayio/__init__.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,10 +254,14 @@ void reset_displays(void) {
254254
common_hal_displayio_release_displays_impl(true);
255255
#if CIRCUITPY_OS_GETENV && CIRCUITPY_SET_DISPLAY_LIMIT
256256
// Does this need to be done or does port_free effectively do this?
257-
m_del(primary_display_bus_t, display_buses_dyn, (max_allocated_display - CIRCUITPY_DISPLAY_LIMIT));
258-
m_del(primary_display_t, displays_dyn, (max_allocated_display - CIRCUITPY_DISPLAY_LIMIT));
259-
display_buses_dyn = NULL;
260-
displays_dyn = NULL;
257+
if (max_allocated_display > CIRCUITPY_DISPLAY_LIMIT) {
258+
// Free the dynamically allocated display buses and displays.
259+
m_del(primary_display_bus_t, display_buses_dyn, (max_allocated_display - CIRCUITPY_DISPLAY_LIMIT));
260+
m_del(primary_display_bus_t, display_buses_dyn, (max_allocated_display - CIRCUITPY_DISPLAY_LIMIT));
261+
m_del(primary_display_t, displays_dyn, (max_allocated_display - CIRCUITPY_DISPLAY_LIMIT));
262+
display_buses_dyn = NULL;
263+
displays_dyn = NULL;
264+
}
261265
// Set dynamically allocated displays to 0 (CIRCUITPY_DISPLAY_LIMIT)
262266
max_allocated_display = CIRCUITPY_DISPLAY_LIMIT;
263267
#endif

0 commit comments

Comments
 (0)