[Bf-blender-cvs] [bcc8f7c6be6] soc-2019-openxr: Fix xrDestroy calls to data already implicitly destroyed by OpenXR

Julian Eisel noreply at git.blender.org
Wed Aug 7 22:21:04 CEST 2019


Commit: bcc8f7c6be60c78f8351874880ab139d3a3410ad
Author: Julian Eisel
Date:   Wed Aug 7 22:17:55 2019 +0200
Branches: soc-2019-openxr
https://developer.blender.org/rBbcc8f7c6be60c78f8351874880ab139d3a3410ad

Fix xrDestroy calls to data already implicitly destroyed by OpenXR

Would effectifely result in null-ops, since the loader does good sanity
checks. The failing functions would still lead to error prints though.

===================================================================

M	intern/ghost/intern/GHOST_XrContext.cpp

===================================================================

diff --git a/intern/ghost/intern/GHOST_XrContext.cpp b/intern/ghost/intern/GHOST_XrContext.cpp
index 8edbd625f3a..7fbcb30196b 100644
--- a/intern/ghost/intern/GHOST_XrContext.cpp
+++ b/intern/ghost/intern/GHOST_XrContext.cpp
@@ -67,6 +67,10 @@ GHOST_XrContext::~GHOST_XrContext()
 {
   // TODO OpenXR calls here can fail, but we should not throw an exception in the destructor.
 
+  /* Destroy session data first. Otherwise xrDestroyInstance will implicitly do it, before the
+   * session had a chance to do so explicitly. */
+  m_session = nullptr;
+
   if (m_oxr->debug_messenger != XR_NULL_HANDLE) {
     assert(m_oxr->s_xrDestroyDebugUtilsMessengerEXT_fn != nullptr);
     m_oxr->s_xrDestroyDebugUtilsMessengerEXT_fn(m_oxr->debug_messenger);



More information about the Bf-blender-cvs mailing list