From: Simon Glass <simon.glass@canonical.com> Update scene_render_deps() to call scene_txtin_render_deps() for textedit objects by grouping SCENEOBJT_TEXTEDIT with SCENEOBJT_TEXTLINE. This enables proper cursor handling when the textedit is open. Add a test for textedit highlighting. Co-developed-by: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: Simon Glass <simon.glass@canonical.com> --- boot/scene.c | 2 +- test/boot/expo.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/boot/scene.c b/boot/scene.c index 46bc9b64e64..306625361b4 100644 --- a/boot/scene.c +++ b/boot/scene.c @@ -983,13 +983,13 @@ int scene_render_deps(struct scene *scn, uint id) case SCENEOBJT_IMAGE: case SCENEOBJT_TEXT: case SCENEOBJT_BOX: - case SCENEOBJT_TEXTEDIT: break; case SCENEOBJT_MENU: scene_menu_render_deps(scn, (struct scene_obj_menu *)obj); break; case SCENEOBJT_TEXTLINE: + case SCENEOBJT_TEXTEDIT: scene_txtin_render_deps(scn, obj, scene_obj_txtin(obj)); break; } diff --git a/test/boot/expo.c b/test/boot/expo.c index 79e77b83b0a..d7430dc4284 100644 --- a/test/boot/expo.c +++ b/test/boot/expo.c @@ -1572,6 +1572,12 @@ static int expo_render_textedit(struct unit_test_state *uts) ut_assertok(expo_render(exp)); ut_asserteq(19841, video_compress_fb(uts, dev, false)); + /* highlight the textedit and re-render */ + scene_set_highlight_id(scn, OBJ_TEXTED); + ut_assertok(scene_arrange(scn)); + ut_assertok(expo_render(exp)); + ut_asserteq(21662, video_compress_fb(uts, dev, false)); + abuf_uninit(&buf); abuf_uninit(&logo_copy); -- 2.43.0