Skip to content

Commit 60b927b

Browse files
committed
Merge pull request #88689 from dsnopek/openxr-extension-wrapper-crash
Fix crash when using OpenXR extension wrappers from GDExtension
2 parents 0072a0b + 713ea06 commit 60b927b

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

modules/openxr/openxr_api.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1532,7 +1532,13 @@ void OpenXRAPI::register_extension_metadata() {
15321532

15331533
void OpenXRAPI::cleanup_extension_wrappers() {
15341534
for (OpenXRExtensionWrapper *extension_wrapper : registered_extension_wrappers) {
1535-
memdelete(extension_wrapper);
1535+
// Fix crash when the extension wrapper comes from GDExtension.
1536+
OpenXRExtensionWrapperExtension *gdextension_extension_wrapper = dynamic_cast<OpenXRExtensionWrapperExtension *>(extension_wrapper);
1537+
if (gdextension_extension_wrapper) {
1538+
memdelete(gdextension_extension_wrapper);
1539+
} else {
1540+
memdelete(extension_wrapper);
1541+
}
15361542
}
15371543
registered_extension_wrappers.clear();
15381544
}

0 commit comments

Comments
 (0)