diff options
| author | George Marques | 2016-11-06 13:34:18 -0200 |
|---|---|---|
| committer | GitHub | 2016-11-06 13:34:18 -0200 |
| commit | 88b00cb6581832a1899ceaf6de9db0c51971099b (patch) | |
| tree | ae542818bca2db822d0f2e1f24e479091bda26c5 /core | |
| parent | a4570cb4615f5bbbf0091b3832101179d5e1662a (diff) | |
| parent | 6d6d9bc7f98591b1398491f759cd0ec9ae2cab12 (diff) | |
| download | godot-88b00cb6581832a1899ceaf6de9db0c51971099b.tar.gz godot-88b00cb6581832a1899ceaf6de9db0c51971099b.tar.zst godot-88b00cb6581832a1899ceaf6de9db0c51971099b.zip | |
Merge pull request #7048 from neikeq/pr-marshals-singleton
Add singleton instance to _Marshalls
Diffstat (limited to 'core')
| -rw-r--r-- | core/bind/core_bind.cpp | 7 | ||||
| -rw-r--r-- | core/bind/core_bind.h | 7 | ||||
| -rw-r--r-- | core/register_core_types.cpp | 2 |
3 files changed, 14 insertions, 2 deletions
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index 4e815d044..b947eec8d 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -2043,6 +2043,13 @@ _Directory::~_Directory() { memdelete(d); } +_Marshalls* _Marshalls::singleton=NULL; + +_Marshalls *_Marshalls::get_singleton() +{ + return singleton; +} + String _Marshalls::variant_to_base64(const Variant& p_var) { int len; diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index 14203ae86..d86306726 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -503,6 +503,8 @@ class _Marshalls : public Reference { OBJ_TYPE(_Marshalls,Reference); + static _Marshalls* singleton; + protected: static void _bind_methods(); @@ -510,6 +512,8 @@ protected: public: + static _Marshalls* get_singleton(); + String variant_to_base64(const Variant& p_var); Variant base64_to_variant(const String& p_str); @@ -519,7 +523,8 @@ public: String utf8_to_base64(const String& p_str); String base64_to_utf8(const String& p_str); - _Marshalls() {}; + _Marshalls() { singleton = this; } + ~_Marshalls() { singleton = NULL; } }; diff --git a/core/register_core_types.cpp b/core/register_core_types.cpp index c3a127afb..4c9d12178 100644 --- a/core/register_core_types.cpp +++ b/core/register_core_types.cpp @@ -177,7 +177,7 @@ void register_core_singletons() { Globals::get_singleton()->add_singleton( Globals::Singleton("ResourceSaver",_ResourceSaver::get_singleton()) ); Globals::get_singleton()->add_singleton( Globals::Singleton("PathRemap",PathRemap::get_singleton() ) ); Globals::get_singleton()->add_singleton( Globals::Singleton("OS",_OS::get_singleton() ) ); - Globals::get_singleton()->add_singleton( Globals::Singleton("Marshalls",_marshalls ) ); + Globals::get_singleton()->add_singleton( Globals::Singleton("Marshalls",_Marshalls::get_singleton() ) ); Globals::get_singleton()->add_singleton( Globals::Singleton("TranslationServer",TranslationServer::get_singleton() ) ); Globals::get_singleton()->add_singleton( Globals::Singleton("TS",TranslationServer::get_singleton() ) ); Globals::get_singleton()->add_singleton( Globals::Singleton("Input",Input::get_singleton() ) ); |
