summaryrefslogtreecommitdiffhomepage
path: root/tracker-steamvr/steamvr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tracker-steamvr/steamvr.cpp')
-rw-r--r--tracker-steamvr/steamvr.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/tracker-steamvr/steamvr.cpp b/tracker-steamvr/steamvr.cpp
index d32c9d44..43bccdb8 100644
--- a/tracker-steamvr/steamvr.cpp
+++ b/tracker-steamvr/steamvr.cpp
@@ -55,16 +55,21 @@ void device_list::fill_device_specs(QList<device_spec>& list)
device_states, vr::k_unMaxTrackedDeviceCount);
static constexpr unsigned bufsiz = vr::k_unTrackingStringSize;
- static char str[bufsiz] {}; // vr_lock prevents reentrancy
+ static char str[bufsiz+1] {}; // vr_lock prevents reentrancy
for (unsigned k = 0; k < vr::k_unMaxTrackedDeviceCount; k++)
{
- if (v->GetTrackedDeviceClass(k) == vr::ETrackedDeviceClass::TrackedDeviceClass_Invalid ||
- v->GetTrackedDeviceClass(k) == vr::ETrackedDeviceClass::TrackedDeviceClass_TrackingReference)
+ if (v->GetTrackedDeviceClass(k) == vr::ETrackedDeviceClass::TrackedDeviceClass_Invalid)
+ {
+ qDebug() << "no device with index";
continue;
+ }
if (!device_states[k].bDeviceIsConnected)
+ {
+ qDebug() << "device not connected but proceeding";
continue;
+ }
unsigned len;
@@ -92,6 +97,8 @@ void device_list::fill_device_specs(QList<device_spec>& list)
dev.type = "HMD"; break;
case vr::ETrackedDeviceClass::TrackedDeviceClass_Controller:
dev.type = "Controller"; break;
+ case vr::ETrackedDeviceClass::TrackedDeviceClass_TrackingReference:
+ dev.type = "Tracker"; break;
default:
dev.type = "Unknown"; break;
}