Within tests it is useful to be able to control rendering of the expo.
Drop the automatic call to expo_render() within expo_poll() and adjust
its callers to handle this instead.
Signed-off-by: Simon Glass <sjg@chromium.org>
do {
struct expo_action act;
+ ret = expo_render(exp);
+ if (ret)
+ return log_msg_ret("cer", ret);
+
ret = expo_poll(exp, &act);
if (!ret)
cedit_do_action(exp, scn, vid_priv, &act);
{
int ichar, key, ret;
- ret = expo_render(exp);
- if (ret)
- return log_msg_ret("ere", ret);
-
ichar = cli_ch_process(&exp->cch, 0);
if (!ichar) {
int i;
return log_msg_ret("bhs", ret);
do {
+ ret = expo_render(exp);
+ if (ret)
+ return log_msg_ret("bhr", ret);
ret = bootflow_menu_poll(exp, &bflow);
} while (ret == -EAGAIN);
int cb_expo_build(struct expo **expp);
/**
- * expo_poll() - render an expo and see if the user takes an action
+ * expo_poll() - see if the user takes an action
*
- * Thsi calls expo_render() and then checks for a keypress. If there is one, it
- * is processed and the resulting action returned, if any
+ * This checks for a keypress. If there is one, it is processed and the
+ * resulting action returned, if any.
+ *
+ * Note that expo_render() should normally be called immediately before this
+ * function so that the user can see the latest state.
*
* @exp: Expo to poll
* @act: Returns action on success