fix crash when exiting page with number edit
disable setting lvgl group focus
This commit is contained in:
committed by
Raphael Coeffic
parent
ce8e7b67d0
commit
4206bf9e94
+1
-1
@@ -72,7 +72,7 @@ void FormField::setFocus(uint8_t flag, Window * from)
|
||||
if(lvobj != nullptr)
|
||||
{
|
||||
lv_group_focus_freeze(inputGroup, false);
|
||||
lv_group_focus_obj(lvobj);
|
||||
// lv_group_focus_obj(lvobj);
|
||||
lv_group_focus_freeze(inputGroup, true);
|
||||
}
|
||||
}
|
||||
|
||||
+18
-10
@@ -36,18 +36,26 @@ extern "C" void lvglEventCb(lv_event_t* event)
|
||||
NumberEdit* numEdit = (NumberEdit*)event->user_data;
|
||||
if(!numEdit)
|
||||
return;
|
||||
if(numEdit->deleted())
|
||||
return;
|
||||
|
||||
lv_group_t* grp = (lv_group_t*)lv_obj_get_group(numEdit->getLvObj());
|
||||
if(grp && lv_group_get_focused(grp) == numEdit->getLvObj())
|
||||
numEdit->setEditMode(lv_group_get_editing(grp));
|
||||
switch(key)
|
||||
lv_obj_t* obj = numEdit->getLvObj();
|
||||
|
||||
if(obj != nullptr && lv_obj_is_editable(obj))
|
||||
{
|
||||
case LV_KEY_LEFT:
|
||||
// numEdit->onEvent(EVT_ROTARY_LEFT);
|
||||
break;
|
||||
case LV_KEY_RIGHT:
|
||||
// numEdit->onEvent(EVT_ROTARY_RIGHT);
|
||||
break;
|
||||
lv_group_t* grp = (lv_group_t*)lv_obj_get_group(obj);
|
||||
if(grp && lv_group_get_focused(grp) == obj)
|
||||
numEdit->setEditMode(lv_group_get_editing(grp));
|
||||
|
||||
switch(key)
|
||||
{
|
||||
case LV_KEY_LEFT:
|
||||
// numEdit->onEvent(EVT_ROTARY_LEFT);
|
||||
break;
|
||||
case LV_KEY_RIGHT:
|
||||
// numEdit->onEvent(EVT_ROTARY_RIGHT);
|
||||
break;
|
||||
}
|
||||
}
|
||||
event->code = LV_EVENT_REFRESH;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user