summaryrefslogtreecommitdiff
path: root/firmware/2lib/2ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/2lib/2ui.c')
-rw-r--r--firmware/2lib/2ui.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/firmware/2lib/2ui.c b/firmware/2lib/2ui.c
index 1bdc2739..99cedb0c 100644
--- a/firmware/2lib/2ui.c
+++ b/firmware/2lib/2ui.c
@@ -214,6 +214,8 @@ vb2_error_t vb2_ui_screen_back(struct vb2_ui_context *ui)
tmp = ui->state->prev;
free(ui->state);
ui->state = tmp;
+ if (ui->state->screen->reinit)
+ return ui->state->screen->reinit(ui);
} else {
VB2_DEBUG("ERROR: No previous screen; ignoring\n");
}
@@ -259,6 +261,8 @@ vb2_error_t vb2_ui_screen_change(struct vb2_ui_context *ui, enum vb2_screen id)
ui->state = cur_state->prev;
free(cur_state);
}
+ if (ui->state->screen->reinit)
+ return ui->state->screen->reinit(ui);
} else {
/* Allocate the requested screen on top of the stack. */
cur_state = malloc(sizeof(*ui->state));