summarylogtreecommitdiffstats
path: root/0001-openvr_capi-Add-pragma-pack-around-VRControllerState.patch
blob: 0565d9bd296a6a8e0c9f056538c07b691a2ec33f (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 833a92c6f00c2178436008c1e1a7d6614165a56a 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 13c71fc..3c32c59 100644
--- a/headers/openvr_capi.h
+++ b/headers/openvr_capi.h
@@ -2202,6 +2202,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;
@@ -2209,6 +2214,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 CameraVideoStreamFrameHeader_t
 {
-- 
2.30.2