fix: clear default clickable flag on temp_view/status_view to unblock mode toggle
LVGL's base obj is clickable by default (lv_obj_create sets LV_OBJ_FLAG_CLICKABLE unconditionally). As full-screen, topmost siblings of mode_toggle, temp_view and status_view were silently capturing every tap over the toggle bar via lv_obj_hit_test before the touch search could reach mode_toggle underneath, even though they have no on_click of their own. Confirmed via generated C++ (lv_obj_remove_flag ... LV_OBJ_FLAG_CLICKABLE) and hardware testing.
This commit is contained in:
parent
4111f11b04
commit
91f47be62a
1 changed files with 8 additions and 0 deletions
|
|
@ -103,6 +103,13 @@ lvgl:
|
||||||
outline_width: 0
|
outline_width: 0
|
||||||
scrollable: false
|
scrollable: false
|
||||||
bg_opa: transp
|
bg_opa: transp
|
||||||
|
# LVGL's base obj is clickable by default (obj->flags = LV_OBJ_FLAG_CLICKABLE in
|
||||||
|
# lv_obj_create) and lv_obj_hit_test() requires that flag before checking geometry.
|
||||||
|
# Being a full-screen, topmost sibling of mode_toggle, this container was silently
|
||||||
|
# swallowing every tap over the toggle bar (no on_click, so nothing visibly happened)
|
||||||
|
# before the touch search could reach mode_toggle underneath — same z-order class of
|
||||||
|
# bug as the bg_opa fix above, but for touch capture instead of rendering.
|
||||||
|
clickable: false
|
||||||
widgets:
|
widgets:
|
||||||
- arc:
|
- arc:
|
||||||
id: dial_bg_arc
|
id: dial_bg_arc
|
||||||
|
|
@ -277,6 +284,7 @@ lvgl:
|
||||||
outline_width: 0
|
outline_width: 0
|
||||||
scrollable: false
|
scrollable: false
|
||||||
bg_opa: transp
|
bg_opa: transp
|
||||||
|
clickable: false # see temp_view comment above — same touch-capture fix
|
||||||
layout:
|
layout:
|
||||||
type: flex
|
type: flex
|
||||||
flex_flow: column
|
flex_flow: column
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue