summaryrefslogtreecommitdiff
path: root/boot/cedit.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2025-05-02 08:46:25 -0600
committerSimon Glass <sjg@chromium.org>2025-05-30 09:49:32 +0100
commitd01b8e226686d3d8408c190bf0c843eabd858ef7 (patch)
tree45196405e04f959018c47e4d666b11a804fb0afb /boot/cedit.c
parent9f44b544e1d8b23dec51567c657e81488a289d6d (diff)
expo: Adjust how menu items are highlighted
At present when the user moves to a new menu item, the menu code handles this immediately. This means it is not possible to use an expo action to effect the same change. Update this so that EXPOACT_POINT_ITEM is handled in cedit_do_action(). Expand the test to cover this. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'boot/cedit.c')
-rw-r--r--boot/cedit.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/boot/cedit.c b/boot/cedit.c
index eac851b395a..792ab6d65bd 100644
--- a/boot/cedit.c
+++ b/boot/cedit.c
@@ -148,10 +148,17 @@ int cedit_prepare(struct expo *exp, struct udevice *vid_dev,
int cedit_do_action(struct expo *exp, struct scene *scn,
struct video_priv *vid_priv, struct expo_action *act)
{
+ int ret;
+
switch (act->type) {
case EXPOACT_NONE:
- case EXPOACT_POINT_ITEM:
return -EAGAIN;
+ case EXPOACT_POINT_ITEM:
+ ret = scene_menu_select_item(scn, scn->highlight_id,
+ act->select.id);
+ if (ret)
+ return log_msg_ret("cdp", ret);
+ break;
case EXPOACT_POINT_OBJ:
scene_set_highlight_id(scn, act->select.id);
cedit_arange(exp, vid_priv, scn->id);