diff options
Diffstat (limited to 'editor')
-rw-r--r-- | editor/project_manager.cpp | 9 | ||||
-rw-r--r-- | editor/project_manager.h | 8 |
2 files changed, 12 insertions, 5 deletions
diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 1cd13e10c8..3ca25bb4e3 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -1863,6 +1863,8 @@ void ProjectList::_bind_methods() { ADD_SIGNAL(MethodInfo(SIGNAL_PROJECT_ASK_OPEN)); } +ProjectManager *ProjectManager::singleton = nullptr; + void ProjectManager::_notification(int p_what) { switch (p_what) { case NOTIFICATION_TRANSLATION_CHANGED: @@ -1908,10 +1910,8 @@ void ProjectManager::_notification(int p_what) { } } -Map<String, Ref<Texture2D>> ProjectManager::icon_type_cache; - Ref<Texture2D> ProjectManager::_file_dialog_get_icon(const String &p_path) { - return icon_type_cache["ObjectHR"]; + return singleton->icon_type_cache["ObjectHR"]; } void ProjectManager::_build_icon_type_cache(Ref<Theme> p_theme) { @@ -2481,6 +2481,8 @@ void ProjectManager::_version_button_pressed() { } ProjectManager::ProjectManager() { + singleton = this; + // load settings if (!EditorSettings::get_singleton()) { EditorSettings::create(); @@ -2870,6 +2872,7 @@ ProjectManager::ProjectManager() { } ProjectManager::~ProjectManager() { + singleton = nullptr; if (EditorSettings::get_singleton()) { EditorSettings::destroy(); } diff --git a/editor/project_manager.h b/editor/project_manager.h index d3cd929eb7..2965dc7d2e 100644 --- a/editor/project_manager.h +++ b/editor/project_manager.h @@ -50,8 +50,10 @@ enum FilterOption { class ProjectManager : public Control { GDCLASS(ProjectManager, Control); - static Map<String, Ref<Texture2D>> icon_type_cache; - static void _build_icon_type_cache(Ref<Theme> p_theme); + Map<String, Ref<Texture2D>> icon_type_cache; + void _build_icon_type_cache(Ref<Theme> p_theme); + + static ProjectManager *singleton; TabContainer *tabs; @@ -139,6 +141,8 @@ protected: static void _bind_methods(); public: + static ProjectManager *get_singleton() { return singleton; } + ProjectManager(); ~ProjectManager(); }; |