|
@@ -1757,6 +1757,15 @@ void NativeReloadNode::_notification(int p_what) {
|
|
}
|
|
}
|
|
|
|
|
|
for (Map<String, Set<NativeScript *>>::Element *U = NSL->library_script_users.front(); U; U = U->next()) {
|
|
for (Map<String, Set<NativeScript *>>::Element *U = NSL->library_script_users.front(); U; U = U->next()) {
|
|
|
|
+ // Multiple GDNative libraries may be reloaded. The library and script
|
|
|
|
+ // path should match to prevent failing `NSL->library_classes` lookup
|
|
|
|
+ // from `get_script_desc()` in `script->_update_placeholder` below.
|
|
|
|
+ // This check also prevents "!script_data is true" error from occuring
|
|
|
|
+ // when e. g. re-focusing editor window.
|
|
|
|
+ if (L->key() != U->key()) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+
|
|
for (Set<NativeScript *>::Element *S = U->get().front(); S; S = S->next()) {
|
|
for (Set<NativeScript *>::Element *S = U->get().front(); S; S = S->next()) {
|
|
NativeScript *script = S->get();
|
|
NativeScript *script = S->get();
|
|
|
|
|