Procházet zdrojové kódy

Merge pull request #2894 from wwylele/motion-emu-fix

motion_emu: fix initialization order
bunnei před 9 roky
rodič
revize
03c782e378
1 změnil soubory, kde provedl 4 přidání a 1 odebrání
  1. 4 1
      src/input_common/motion_emu.cpp

+ 4 - 1
src/input_common/motion_emu.cpp

@@ -74,11 +74,14 @@ private:
     bool is_tilting = false;
     bool is_tilting = false;
 
 
     Common::Event shutdown_event;
     Common::Event shutdown_event;
-    std::thread motion_emu_thread;
 
 
     std::tuple<Math::Vec3<float>, Math::Vec3<float>> status;
     std::tuple<Math::Vec3<float>, Math::Vec3<float>> status;
     std::mutex status_mutex;
     std::mutex status_mutex;
 
 
+    // Note: always keep the thread declaration at the end so that other objects are initialized
+    // before this!
+    std::thread motion_emu_thread;
+
     void MotionEmuThread() {
     void MotionEmuThread() {
         auto update_time = std::chrono::steady_clock::now();
         auto update_time = std::chrono::steady_clock::now();
         Math::Quaternion<float> q = MakeQuaternion(Math::Vec3<float>(), 0);
         Math::Quaternion<float> q = MakeQuaternion(Math::Vec3<float>(), 0);