diff --git a/vsgvr/include/vsgvr/actions/OpenXRAction.h b/vsgvr/include/vsgvr/actions/OpenXRAction.h index 0137da3..8134214 100644 --- a/vsgvr/include/vsgvr/actions/OpenXRAction.h +++ b/vsgvr/include/vsgvr/actions/OpenXRAction.h @@ -62,7 +62,7 @@ namespace vsgvr { std::string _name; std::string _localisedName; std::vector _subPaths; - XrAction _action; + XrAction _action = XR_NULL_HANDLE; struct ActionState { XrActionStateBoolean _stateBool = {}; diff --git a/vsgvr/src/vsgvr/actions/OpenXRAction.cpp b/vsgvr/src/vsgvr/actions/OpenXRAction.cpp index 28e1aee..66a85c3 100644 --- a/vsgvr/src/vsgvr/actions/OpenXRAction.cpp +++ b/vsgvr/src/vsgvr/actions/OpenXRAction.cpp @@ -170,7 +170,9 @@ namespace vsgvr void OpenXRAction::destroyAction() { - xr_check(xrDestroyAction(_action)); + if( _action != XR_NULL_HANDLE ) { + xr_check(xrDestroyAction(_action)); + } } }