Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Kim <pk15950@gmail.com>2021-10-26 07:38:59 +0300
committerPeter Kim <pk15950@gmail.com>2021-10-26 07:38:59 +0300
commit9db13c8d793e4b11ba717e9e4124b1faae66fe8a (patch)
tree2abfa439982cace662c0f948d5e540b39e561b7d /source/blender/windowmanager/xr
parent4c0512bc3221f5319cfdcd25e77c45e08ad61249 (diff)
XR: Fix potential crash when toggling session
Diffstat (limited to 'source/blender/windowmanager/xr')
-rw-r--r--source/blender/windowmanager/xr/intern/wm_xr_session.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/windowmanager/xr/intern/wm_xr_session.c b/source/blender/windowmanager/xr/intern/wm_xr_session.c
index 62757c0bddd..98cc4e21953 100644
--- a/source/blender/windowmanager/xr/intern/wm_xr_session.c
+++ b/source/blender/windowmanager/xr/intern/wm_xr_session.c
@@ -137,8 +137,10 @@ void wm_xr_session_toggle(wmWindowManager *wm,
wmXrData *xr_data = &wm->xr;
if (WM_xr_session_exists(xr_data)) {
- GHOST_XrSessionEnd(xr_data->runtime->context);
+ /* Must set first, since #GHOST_XrSessionEnd() may immediately free the runtime. */
xr_data->runtime->session_state.is_started = false;
+
+ GHOST_XrSessionEnd(xr_data->runtime->context);
}
else {
GHOST_XrSessionBeginInfo begin_info;