Fixes crash when loading *.escn resources with gdnative #20141
The issue is that ResourceFormatLoaderText is a singleton. It was created in a faulty way in ResourceFormatLoaderNativeScript::load It was created on the stack, which caused the static singleton pointer to be overwritten. This causes then segmentation faults if the singleton is used later on. IMO singleton creation needs to made safer to avoid other similar issues in the future.
This commit is contained in:
parent
955a913a1f
commit
cf09952b6b
1 changed files with 1 additions and 2 deletions
|
@ -1711,8 +1711,7 @@ void NativeReloadNode::_notification(int p_what) {
|
|||
}
|
||||
|
||||
RES ResourceFormatLoaderNativeScript::load(const String &p_path, const String &p_original_path, Error *r_error) {
|
||||
ResourceFormatLoaderText rsflt;
|
||||
return rsflt.load(p_path, p_original_path, r_error);
|
||||
return ResourceFormatLoaderText::singleton->load(p_path, p_original_path, r_error);
|
||||
}
|
||||
|
||||
void ResourceFormatLoaderNativeScript::get_recognized_extensions(List<String> *p_extensions) const {
|
||||
|
|
Loading…
Reference in a new issue