From cfa545b43c034ba48e71f101fbd3b286ae684f58 Mon Sep 17 00:00:00 2001 From: Korcan Hussein Date: Tue, 23 Jan 2024 18:09:34 +0000 Subject: [PATCH] st/oxr: Fixes getting current interaction profile paths oxr_session's active profile paths where not being cleared on attachments/ updates, causing calls to `xrGetCurrentInteractionPath` to return valid paths of particular hand that where previously bound and became unbound. --- src/xrt/state_trackers/oxr/oxr_input.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/xrt/state_trackers/oxr/oxr_input.c b/src/xrt/state_trackers/oxr/oxr_input.c index c93176d71..10ad96dc4 100644 --- a/src/xrt/state_trackers/oxr/oxr_input.c +++ b/src/xrt/state_trackers/oxr/oxr_input.c @@ -1667,6 +1667,7 @@ oxr_session_attach_action_sets(struct oxr_logger *log, } #define POPULATE_PROFILE(X) \ + sess->X = XR_NULL_PATH; \ if (profiles.X != NULL) { \ sess->X = profiles.X->path; \ oxr_event_push_XrEventDataInteractionProfileChanged(log, sess); \ @@ -1691,6 +1692,7 @@ oxr_session_update_action_bindings(struct oxr_logger *log, struct oxr_session *s } #define POPULATE_PROFILE(X) \ + sess->X = XR_NULL_PATH; \ if (profiles.X != NULL) { \ sess->X = profiles.X->path; \ oxr_event_push_XrEventDataInteractionProfileChanged(log, sess); \