File tree Expand file tree Collapse file tree 2 files changed +21
-5
lines changed Expand file tree Collapse file tree 2 files changed +21
-5
lines changed Original file line number Diff line number Diff line change @@ -1357,11 +1357,23 @@ def register_int_ptr_type(convertor, *types):
1357
1357
void mp_lv_deinit_gc()
1358
1358
{
1359
1359
1360
- // mp_printf(&mp_plat_print, "[ DEINIT GC ]");
1361
- mp_lv_roots = MP_STATE_VM(mp_lv_roots) = NULL;
1362
- mp_lv_user_data = MP_STATE_VM(mp_lv_user_data) = NULL;
1363
- mp_lv_roots_initialized = MP_STATE_VM(mp_lv_roots_initialized) = 0;
1364
- lvgl_mod_initialized = MP_STATE_VM(lvgl_mod_initialized) = 0;
1360
+
1361
+ if (MP_STATE_VM(lvgl_mod_initialized)) {
1362
+ // mp_printf(&mp_plat_print, "[ DEINIT GC ]");
1363
+ mp_lv_roots = MP_STATE_VM(mp_lv_roots) = NULL;
1364
+ mp_lv_user_data = MP_STATE_VM(mp_lv_user_data) = NULL;
1365
+ mp_lv_roots_initialized = MP_STATE_VM(mp_lv_roots_initialized) = 0;
1366
+ lvgl_mod_initialized = MP_STATE_VM(lvgl_mod_initialized) = 0;
1367
+ }
1368
+
1369
+ }
1370
+
1371
+ void mp_deinit_lvgl_mod()
1372
+ {
1373
+
1374
+ if (MP_STATE_VM(lvgl_mod_initialized)) {
1375
+ mp_lv_deinit_gc();
1376
+ }
1365
1377
1366
1378
}
1367
1379
Original file line number Diff line number Diff line change @@ -306,6 +306,10 @@ extern void mp_lv_deinit_gc();
306
306
#define LV_GC_INIT () mp_lv_init_gc()
307
307
#define LV_GC_DEINIT () mp_lv_deinit_gc()
308
308
309
+ // include lv_conf.h in "mpconfigboard.h" for this to take effect.
310
+ extern void mp_deinit_lvgl_mod ();
311
+ #define MICROPY_PORT_DEINIT_FUNC mp_deinit_lvgl_mod()
312
+
309
313
#define LV_ENABLE_GLOBAL_CUSTOM 1
310
314
#if LV_ENABLE_GLOBAL_CUSTOM
311
315
extern void * mp_lv_roots ;
You can’t perform that action at this time.
0 commit comments