after code.py runs, flush filesystem before resetting heap

This commit is contained in:
Dan Halbert 2019-03-16 16:49:32 -04:00
parent 0cdb5fcfd9
commit 43915133a1
2 changed files with 4 additions and 5 deletions

3
main.c
View File

@ -213,10 +213,11 @@ bool run_code_py(safe_mode_t safe_mode) {
serial_write_compressed(translate("WARNING: Your code filename has two extensions\n")); serial_write_compressed(translate("WARNING: Your code filename has two extensions\n"));
} }
} }
// Turn off the display before the heap disappears. // Turn off the display and flush the fileystem before the heap disappears.
#if CIRCUITPY_DISPLAYIO #if CIRCUITPY_DISPLAYIO
reset_displays(); reset_displays();
#endif #endif
filesystem_flush();
stop_mp(); stop_mp();
free_memory(heap); free_memory(heap);
supervisor_move_memory(); supervisor_move_memory();

View File

@ -29,10 +29,8 @@ void displayio_refresh_displays(void) {
if (mp_hal_is_interrupted()) { if (mp_hal_is_interrupted()) {
return; return;
} }
// Somehow reloads from the sdcard are being lost. So, cheat and reraise. if (reload_requested) {
// But don't re-raise if already pending. // Reload is about to happen, so don't redisplay.
if (reload_requested && MP_STATE_VM(mp_pending_exception) == MP_OBJ_NULL) {
mp_raise_reload_exception();
return; return;
} }