From e72589c6d4c3850a4ce8c79fc77359ce4793a82e Mon Sep 17 00:00:00 2001 From: Amir Gonnen Date: Fri, 8 Feb 2019 00:03:16 +0200 Subject: [PATCH] Prevent crash when lv_init is called more than once. After the first call, it will do nothing. --- lv_core/lv_obj.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lv_core/lv_obj.c b/lv_core/lv_obj.c index a58ead8c2..e527af285 100644 --- a/lv_core/lv_obj.c +++ b/lv_core/lv_obj.c @@ -49,6 +49,8 @@ static lv_res_t lv_obj_signal(lv_obj_t * obj, lv_signal_t sign, void * param); * STATIC VARIABLES **********************/ +static bool _lv_initialized = false; + /********************** * MACROS **********************/ @@ -62,6 +64,9 @@ static lv_res_t lv_obj_signal(lv_obj_t * obj, lv_signal_t sign, void * param); */ void lv_init(void) { + if (_lv_initialized) return; + _lv_initialized = true; + LV_GC_ROOT(_lv_def_scr) = NULL; LV_GC_ROOT(_lv_act_scr) = NULL; LV_GC_ROOT(_lv_top_layer) = NULL;