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:
committed by
Raphael Coeffic
parent
7f724c187d
commit
a6a387a87c
@@ -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
@@ -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));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user