I’ve been using v5.3 for a while in a test project of mine, and have been using
lv_indev_set_cursor to set a cursor object to show the location of the touch for debugging purposed. This worked fine.
Now I upgraded to v6.0 and everything works, as long as I don’t show the cursor. With a cursor object set using lv_indev_set_cursor`, the UI gets completely unresponsive (no events of any kind on any object event handler) - but the cursor itself shows and moves as expected.
I have the same project with SDL2 on my Mac and on the actual target (a OpenWrt MIPS board), the behaviour is the same on both.
Here’s my cursor init code:
evdev_init(); pointer_indev_drv.read_cb = evdev_read; pointer_indev = lv_indev_drv_register(&pointer_indev_drv); #if SHOW_MOUSE_CURSOR lv_obj_t *cursor; cursor = lv_obj_create(lv_scr_act(), NULL); lv_obj_set_size(cursor, 24, 24); static lv_style_t style_round; lv_style_copy(&style_round, &lv_style_plain); style_round.body.radius = LV_RADIUS_CIRCLE; style_round.body.main_color = LV_COLOR_RED; style_round.body.opa = LV_OPA_COVER; lv_obj_set_style(cursor, &style_round); lv_indev_set_cursor(pointer_indev, cursor); #endif
If I build with
SHOW_MOUSE_CURSOR=1, the cursor shows but the UI does not respond. Otherwise, everything is ok.
Any ideas what could be wrong?