[Bf-blender-cvs] [f149d5e4b21] master: Fix VR session toggle not changing reliably on session start/end
Julian Eisel
noreply at git.blender.org
Tue Mar 31 16:54:29 CEST 2020
Commit: f149d5e4b21f372f779fdb28b39984355c9682a6
Author: Julian Eisel
Date: Tue Mar 31 16:39:59 2020 +0200
Branches: master
https://developer.blender.org/rBf149d5e4b21f372f779fdb28b39984355c9682a6
Fix VR session toggle not changing reliably on session start/end
The text and icon were supposed to change but didn't reliably, which was
a race condition I think. It depended on how fast the OpenXR runtime
would transition the session state.
This also makes sure the correct notifier is sent on session exit.
===================================================================
M source/blender/makesrna/intern/rna_xr.c
M source/blender/windowmanager/intern/wm_operators.c
===================================================================
diff --git a/source/blender/makesrna/intern/rna_xr.c b/source/blender/makesrna/intern/rna_xr.c
index 76cbc99b397..b08e48a4b17 100644
--- a/source/blender/makesrna/intern/rna_xr.c
+++ b/source/blender/makesrna/intern/rna_xr.c
@@ -38,7 +38,7 @@ static bool rna_XrSessionState_is_running(bContext *C)
{
# ifdef WITH_XR_OPENXR
const wmWindowManager *wm = CTX_wm_manager(C);
- return WM_xr_session_is_ready(&wm->xr);
+ return WM_xr_session_exists(&wm->xr);
# else
UNUSED_VARS(C);
return false;
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index e782b802729..c3446a016f1 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -3711,6 +3711,8 @@ static void wm_xr_session_update_screen(Main *bmain, const wmXrData *xr_data)
}
}
}
+
+ WM_main_add_notifier(NC_WM | ND_XR_DATA_CHANGED, NULL);
}
static void wm_xr_session_update_screen_on_exit_cb(const wmXrData *xr_data)
More information about the Bf-blender-cvs
mailing list