The open source OpenXR runtime

st/oxr: Don't create interaction profile in xrGetInputSourceLocalizedName

oxr_instance::oxr_interaction_profile is used to bind interaction profiles
available on the assigned device to interaction profiles suggested by the
application.

Creating an interaction profile that has not been suggested might interfere
with the binding code.

xrGetInputSourceLocalizedName can only be called after the action sets are
attached, meaning all the interaction profiles must have already been
suggested.

+2 -1
+2 -1
src/xrt/state_trackers/oxr/oxr_binding.c
··· 500 500 501 501 // Find the interaction profile. 502 502 struct oxr_interaction_profile *oip = NULL; 503 - interaction_profile_find_or_create(log, sess->sys->inst, path, &oip); 503 + //! @todo: If we ever rebind a profile that has not been suggested by the client, it will not be found. 504 + interaction_profile_find(log, sess->sys->inst, path, &oip); 504 505 if (oip == NULL) { 505 506 return oxr_error(log, XR_ERROR_RUNTIME_FAILURE, "no interaction profile found"); 506 507 }