summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
Diffstat (limited to 'editor')
-rw-r--r--editor/project_manager.cpp9
-rw-r--r--editor/project_manager.h8
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();
};