diff --git a/src/bauhaus/bauhaus.c b/src/bauhaus/bauhaus.c index a60614e72f04..0ffd86599921 100644 --- a/src/bauhaus/bauhaus.c +++ b/src/bauhaus/bauhaus.c @@ -1684,7 +1684,8 @@ void dt_bauhaus_combobox_set(GtkWidget *widget, const int pos) struct dt_bauhaus_widget_t *w = DT_BAUHAUS_WIDGET(widget); dt_bauhaus_combobox_data_t *d = &w->data.combobox; const int old_pos = d->active; - const int new_pos = CLAMP(pos, -1, (int)d->entries->len - 1); + const int new_pos = (d->entries) ? CLAMP(pos, -1, (int)d->entries->len - 1) + : -1; if(old_pos != new_pos) { diff --git a/src/libs/export.c b/src/libs/export.c index ec7b4beaf55e..5153a3b84555 100644 --- a/src/libs/export.c +++ b/src/libs/export.c @@ -1099,6 +1099,7 @@ void gui_init(dt_lib_module_t *self) for(const GList *it = darktable.imageio->plugins_format; it; it = g_list_next(it)) { const dt_imageio_module_format_t *module = (dt_imageio_module_format_t *)it->data; + dt_bauhaus_combobox_add(d->format, module->name(module)); if(module->widget) { gtk_container_add(GTK_CONTAINER(d->format_extra_container), module->widget); @@ -1359,6 +1360,11 @@ void gui_init(dt_lib_module_t *self) const int storage_index = dt_imageio_get_index_of_storage(dt_imageio_get_storage_by_name(setting)); dt_bauhaus_combobox_set(d->storage, storage_index); + // Set format + setting = dt_conf_get_string_const(CONFIG_PREFIX "format_name"); + const int format_index = dt_imageio_get_index_of_format(dt_imageio_get_format_by_name(setting)); + dt_bauhaus_combobox_set(d->format, format_index); + dt_bauhaus_combobox_set(d->upscale, dt_conf_get_bool(CONFIG_PREFIX "upscale") ? 1 : 0); dt_bauhaus_combobox_set(d->high_quality, dt_conf_get_bool(CONFIG_PREFIX "high_quality_processing") ? 1 : 0); dt_bauhaus_combobox_set(d->export_masks, dt_conf_get_bool(CONFIG_PREFIX "export_masks") ? 1 : 0);