summarylogtreecommitdiffstats
path: root/0001-openvr_capi-Add-pragma-pack-around-VRControllerState.patch
blob: d56dd74bb798d55f916216e94432f97f1633145e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
From cef0756d3c26317c453132ddfad08cb814c339d5 Mon Sep 17 00:00:00 2001
From: Christoph Haag <christoph.haag@collabora.com>
Date: Wed, 8 Aug 2018 01:06:29 +0200
Subject: [PATCH] openvr_capi: Add pragma pack around VRControllerState_t.

See https://github.com/ValveSoftware/SteamVR-for-Linux/issues/35
---
 headers/openvr_capi.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/headers/openvr_capi.h b/headers/openvr_capi.h
index 6feb2c6..d263914 100644
--- a/headers/openvr_capi.h
+++ b/headers/openvr_capi.h
@@ -2051,6 +2051,11 @@ typedef struct VRControllerAxis_t
 	float y;
 } VRControllerAxis_t;
 
+#if defined(__linux__) || defined(__APPLE__)
+// This structure was originally defined mis-packed on Linux, preserved for
+// compatibility.
+#pragma pack( push, 4 )
+#endif
 typedef struct VRControllerState_t
 {
 	uint32_t unPacketNum;
@@ -2058,6 +2063,9 @@ typedef struct VRControllerState_t
 	uint64_t ulButtonTouched;
 	struct VRControllerAxis_t rAxis[5]; //struct vr::VRControllerAxis_t[5]
 } VRControllerState_t;
+#if defined(__linux__) || defined(__APPLE__)
+#pragma pack( pop )
+#endif
 
 typedef struct VRBoneTransform_t
 {
-- 
2.25.1