[Bf-blender-cvs] [1e8b3692b94] xr-controller-support: XR: Deactivate draw callbacks on session end
Peter Kim
noreply at git.blender.org
Wed May 26 10:36:10 CEST 2021
Commit: 1e8b3692b9490a91dcacdc5c423297daddda37de
Author: Peter Kim
Date: Wed May 26 17:04:39 2021 +0900
Branches: xr-controller-support
https://developer.blender.org/rB1e8b3692b9490a91dcacdc5c423297daddda37de
XR: Deactivate draw callbacks on session end
===================================================================
M source/blender/windowmanager/xr/intern/wm_xr_intern.h
M source/blender/windowmanager/xr/intern/wm_xr_session.c
===================================================================
diff --git a/source/blender/windowmanager/xr/intern/wm_xr_intern.h b/source/blender/windowmanager/xr/intern/wm_xr_intern.h
index 9b577c12f25..311ab747cbb 100644
--- a/source/blender/windowmanager/xr/intern/wm_xr_intern.h
+++ b/source/blender/windowmanager/xr/intern/wm_xr_intern.h
@@ -184,6 +184,7 @@ void wm_xr_session_gpu_binding_context_destroy(GHOST_ContextHandle context);
void wm_xr_session_actions_init(wmXrData *xr);
void wm_xr_session_actions_update(const struct bContext *C);
+void wm_xr_session_actions_uninit(wmXrData *xr);
void wm_xr_session_controller_data_populate(const wmXrAction *controller_pose_action,
wmXrData *xr);
void wm_xr_session_controller_data_clear(wmXrSessionState *state);
diff --git a/source/blender/windowmanager/xr/intern/wm_xr_session.c b/source/blender/windowmanager/xr/intern/wm_xr_session.c
index cf2d4300df0..7033394d46c 100644
--- a/source/blender/windowmanager/xr/intern/wm_xr_session.c
+++ b/source/blender/windowmanager/xr/intern/wm_xr_session.c
@@ -125,6 +125,8 @@ static void wm_xr_session_exit_cb(void *customdata)
settings->controller1_object);
}
+ wm_xr_session_actions_uninit(xr_data);
+
if (xr_data->runtime->exit_fn) {
xr_data->runtime->exit_fn(xr_data);
}
@@ -867,6 +869,11 @@ void wm_xr_session_actions_update(const bContext *C)
}
}
+void wm_xr_session_actions_uninit(wmXrData *xr)
+{
+ wm_xr_session_controller_data_clear(&xr->runtime->session_state);
+}
+
void wm_xr_session_controller_data_populate(const wmXrAction *controller_pose_action, wmXrData *xr)
{
wmXrSessionState *state = &xr->runtime->session_state;
More information about the Bf-blender-cvs
mailing list