diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/io/resource_loader.cpp | 3 | ||||
| -rw-r--r-- | core/os/os.cpp | 7 | ||||
| -rw-r--r-- | core/os/os.h | 9 | 
3 files changed, 19 insertions, 0 deletions
diff --git a/core/io/resource_loader.cpp b/core/io/resource_loader.cpp index 285cc6e3c2..9b89fa3399 100644 --- a/core/io/resource_loader.cpp +++ b/core/io/resource_loader.cpp @@ -430,6 +430,9 @@ void ResourceLoader::reload_translation_remaps() {  void ResourceLoader::load_translation_remaps() { +	if (!ProjectSettings::get_singleton()->has("locale/translation_remaps")) +		return; +  	Dictionary remaps = ProjectSettings::get_singleton()->get("locale/translation_remaps");  	List<Variant> keys;  	remaps.get_key_list(&keys); diff --git a/core/os/os.cpp b/core/os/os.cpp index 5a9766891d..8e4c357195 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -512,7 +512,13 @@ bool OS::check_feature_support(const String &p_feature) {  	return false;  } +void *OS::get_stack_bottom() const { +	return _stack_bottom; +} +  OS::OS() { +	void *volatile stack_bottom; +  	last_error = NULL;  	singleton = this;  	_keep_screen_on = true; // set default value to true, because this had been true before godot 2.0. @@ -525,6 +531,7 @@ OS::OS() {  	_render_thread_mode = RENDER_THREAD_SAFE;  	_allow_hidpi = true; +	_stack_bottom = (void *)(&stack_bottom);  }  OS::~OS() { diff --git a/core/os/os.h b/core/os/os.h index 362fec8a9e..957c1d0ba7 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -60,6 +60,8 @@ class OS {  	char *last_error; +	void *_stack_bottom; +  public:  	enum RenderThreadMode { @@ -411,6 +413,13 @@ public:  	bool check_feature_support(const String &p_feature); +	/** +	 * Returns the stack bottom of the main thread of the application. +	 * This may be of use when integrating languages with garbage collectors that +	 * need to check whether a pointer is on the stack. +	 */ +	virtual void *get_stack_bottom() const; +  	bool is_hidpi_allowed() const { return _allow_hidpi; }  	OS();  	virtual ~OS();  |