From 33c1683b37265001eb91024290f7137c5b3c5411 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Fri, 12 Aug 2016 17:06:14 +0200 Subject: dinput: hold dinput reference through entire lifetime --- opentrack-dinput/win32-joystick.hpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'opentrack-dinput/win32-joystick.hpp') diff --git a/opentrack-dinput/win32-joystick.hpp b/opentrack-dinput/win32-joystick.hpp index a69ec765..ef8f59b0 100644 --- a/opentrack-dinput/win32-joystick.hpp +++ b/opentrack-dinput/win32-joystick.hpp @@ -75,12 +75,13 @@ struct OPENTRACK_DINPUT_EXPORT win32_joy_ctx using di_t = dinput_handle::di_t; private: - static QString guid_to_string(const GUID guid); + static QString guid_to_string(const GUID& guid); - class enum_state final + class OPENTRACK_DINPUT_EXPORT enum_state final { std::vector all; joys_t joys; + dinput_handle::di_t di; static BOOL CALLBACK EnumJoysticksCallback(const DIDEVICEINSTANCE* pdidInstance, VOID* pContext); static BOOL CALLBACK EnumObjectsCallback(const DIDEVICEOBJECTINSTANCE* pdidoi, VOID* ctx); @@ -91,7 +92,7 @@ private: enum_state(); ~enum_state(); void refresh(); - const joys_t& get_joys() const { return joys; } + const joys_t& get_joys() const; }; static enum_state enumerator; -- cgit v1.2.3