fix crash when exiting page with number edit

disable setting lvgl group focus
This commit is contained in:
gagarinlg
2022-06-11 15:13:11 +02:00
committed by Raphael Coeffic
parent ce8e7b67d0
commit 4206bf9e94
2 changed files with 19 additions and 11 deletions
+1 -1
View File
@@ -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
View File
@@ -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;
}