diff options
Diffstat (limited to 'editor/export/editor_export.cpp')
-rw-r--r-- | editor/export/editor_export.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/editor/export/editor_export.cpp b/editor/export/editor_export.cpp index 1be9fe5740..9a0f2f18fa 100644 --- a/editor/export/editor_export.cpp +++ b/editor/export/editor_export.cpp @@ -32,6 +32,7 @@ #include "core/config/project_settings.h" #include "core/io/config_file.h" +#include "editor/editor_settings.h" EditorExport *EditorExport::singleton = nullptr; @@ -191,6 +192,12 @@ void EditorExport::_notification(int p_what) { export_platforms.write[i]->cleanup(); } } break; + + case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { + for (int i = 0; i < export_platforms.size(); i++) { + export_platforms.write[i]->notification(p_what); + } + } break; } } @@ -364,6 +371,7 @@ void EditorExport::update_export_presets() { if (platform_options.has(preset->get_platform()->get_name())) { export_presets_updated = true; + bool update_value_overrides = false; List<EditorExportPlatform::ExportOption> options = platform_options[preset->get_platform()->get_name()]; // Clear the preset properties prior to reloading, keep the values to preserve options from plugins that may be currently disabled. @@ -377,6 +385,13 @@ void EditorExport::update_export_presets() { preset->values[option_name] = E.default_value; } preset->update_visibility[option_name] = E.update_visibility; + if (E.update_visibility) { + update_value_overrides = true; + } + } + + if (update_value_overrides) { + preset->update_value_overrides(); } } } |