How to prevent `LV_USE_ASSERT_...`

There are a few assert options to detect something wrong in your application, but there is no documentation or guide on how to prevent it being asserted, making it feel like the crashes are just LVGL’s fault, since there is nothing one could do to fix it.

Example, if you struggle with:

lv_style_reset: Asserted at expression: style->sentinel == LV_STYLE_SENTINEL_VALUE (Style is not initialized or corrupted)

How does this happen and how one can fix it?

For me it happen often when calling lv_obj_clean or lv_obj_del, the obj and it`s children styles were all ok before until the crash.

It means that you want to lv_style_reset a style which wasn’t lv_style_init-ed yet.

A more detail discussion over this topic was available at: