+ if (repost)
+ widgetset_post(boot_editor->widgetset);
+}
+
+void boot_editor_update(struct boot_editor *boot_editor,
+ const struct system_info *sysinfo)
+{
+ const char *str;
+
+ if (boot_editor->cui->current != boot_editor_scr(boot_editor)) {
+ boot_editor->need_update = true;
+ return;
+ }
+
+ str = widget_textbox_get_value(boot_editor->widgets.image_f);
+ if (str) {
+ talloc_free(boot_editor->image);
+ boot_editor->image = talloc_strdup(boot_editor, str);
+ }
+
+ str = widget_textbox_get_value(boot_editor->widgets.initrd_f);
+ if (str) {
+ talloc_free(boot_editor->initrd);
+ boot_editor->initrd = talloc_strdup(boot_editor, str);
+ }
+
+ str = widget_textbox_get_value(boot_editor->widgets.dtb_f);
+ if (str) {
+ talloc_free(boot_editor->dtb);
+ boot_editor->dtb = talloc_strdup(boot_editor, str);
+ }
+
+ str = widget_textbox_get_value(boot_editor->widgets.args_f);
+ if (str) {
+ talloc_free(boot_editor->args);
+ boot_editor->args = talloc_strdup(boot_editor, str);
+ }
+
+ if (boot_editor->use_signature_files) {
+ str = widget_textbox_get_value(boot_editor->widgets.args_sig_file_f);
+ if (str) {
+ talloc_free(boot_editor->args_sig_file);
+ boot_editor->args_sig_file = talloc_strdup(boot_editor, str);
+ }
+ }