reduce redraw issues on screen change

fix crash when lvobj is already deleted, but events are still in the queue
This commit is contained in:
gagarinlg
2022-06-11 15:13:11 +02:00
committed by Raphael Coeffic
parent 7f724c187d
commit a6a387a87c
2 changed files with 5 additions and 1 deletions
+3
View File
@@ -28,6 +28,9 @@ void Button::onPress()
if (check != bool(windowFlags & BUTTON_CHECKED)) {
windowFlags ^= BUTTON_CHECKED;
if(lvobj == nullptr)
return;
if (! (windowFlags & BUTTON_CHECKED))
lv_obj_clear_state(lvobj, LV_STATE_CHECKED);
else
+2 -1
View File
@@ -47,9 +47,10 @@ class Layer
}
// layers are screens in lvgl
lv_scr_load(window->getLvObj());
lv_obj_set_parent(canvas, window->getLvObj());
lv_obj_move_background(canvas);
lv_scr_load(window->getLvObj());
lv_obj_invalidate(canvas);
stack.emplace_back(Layer(window));