chore(display): prevent disp_refr from becoming a wild pointer (#6618)

Signed-off-by: yushuailong1 <yushuailong1@xiaomi.com>
Co-authored-by: yushuailong1 <yushuailong1@xiaomi.com>
This commit is contained in:
yushuailong
2024-08-18 00:27:04 +08:00
committed by GitHub
parent d7b82c7966
commit c52aa10128
+4
View File
@@ -158,7 +158,9 @@ lv_display_t * lv_display_create(int32_t hor_res, int32_t ver_res)
void lv_display_delete(lv_display_t * disp)
{
bool was_default = false;
bool was_refr = false;
if(disp == lv_display_get_default()) was_default = true;
if(disp == lv_refr_get_disp_refreshing()) was_refr = true;
lv_display_send_event(disp, LV_EVENT_DELETE, NULL);
lv_event_remove_all(&(disp->event_list));
@@ -205,6 +207,8 @@ void lv_display_delete(lv_display_t * disp)
lv_free(disp);
if(was_default) lv_display_set_default(lv_ll_get_head(disp_ll_p));
if(was_refr) lv_refr_set_disp_refreshing(NULL);
}
void lv_display_set_default(lv_display_t * disp)