You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-09 12:50:35 +00:00
[NativeScript] fix double initialization in editor
This commit is contained in:
@@ -958,7 +958,8 @@ void NativeReloadNode::_notification(int p_what) {
|
||||
switch (p_what) {
|
||||
case MainLoop::NOTIFICATION_WM_FOCUS_OUT: {
|
||||
|
||||
print_line("unload");
|
||||
if (unloaded)
|
||||
break;
|
||||
|
||||
NSL->_unload_stuff();
|
||||
for (Map<String, Ref<GDNative> >::Element *L = NSL->library_gdnatives.front(); L; L = L->next()) {
|
||||
@@ -967,11 +968,14 @@ void NativeReloadNode::_notification(int p_what) {
|
||||
NSL->library_classes.erase(L->key());
|
||||
}
|
||||
|
||||
unloaded = true;
|
||||
|
||||
} break;
|
||||
|
||||
case MainLoop::NOTIFICATION_WM_FOCUS_IN: {
|
||||
|
||||
print_line("load");
|
||||
if (!unloaded)
|
||||
break;
|
||||
|
||||
Set<StringName> libs_to_remove;
|
||||
|
||||
@@ -1010,6 +1014,8 @@ void NativeReloadNode::_notification(int p_what) {
|
||||
}
|
||||
}
|
||||
|
||||
unloaded = false;
|
||||
|
||||
for (Set<StringName>::Element *R = libs_to_remove.front(); R; R = R->next()) {
|
||||
NSL->library_gdnatives.erase(R->get());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user