Просмотр исходного кода

Merge pull request #1633 from ogniK5377/reload-input

Fixed HID crash when launching more than 1 game & signaled styleset change event
bunnei 7 лет назад
Родитель
Сommit
722e7c05de
2 измененных файлов с 5 добавлено и 0 удалено
  1. 3 0
      src/core/hle/service/hid/controllers/npad.cpp
  2. 2 0
      src/core/hle/service/hid/hid.cpp

+ 3 - 0
src/core/hle/service/hid/controllers/npad.cpp

@@ -427,6 +427,9 @@ void Controller_NPad::VibrateController(const std::vector<u32>& controller_ids,
 }
 }
 
 
 Kernel::SharedPtr<Kernel::Event> Controller_NPad::GetStyleSetChangedEvent() const {
 Kernel::SharedPtr<Kernel::Event> Controller_NPad::GetStyleSetChangedEvent() const {
+    // TODO(ogniK): Figure out the best time to signal this event. This event seems that it should
+    // be signalled at least once, and signaled after a new controller is connected?
+    styleset_changed_event->Signal();
     return styleset_changed_event;
     return styleset_changed_event;
 }
 }
 
 

+ 2 - 0
src/core/hle/service/hid/hid.cpp

@@ -96,6 +96,8 @@ public:
         // TODO(shinyquagsire23): Other update callbacks? (accel, gyro?)
         // TODO(shinyquagsire23): Other update callbacks? (accel, gyro?)
 
 
         CoreTiming::ScheduleEvent(pad_update_ticks, pad_update_event);
         CoreTiming::ScheduleEvent(pad_update_ticks, pad_update_event);
+
+        ReloadInputDevices();
     }
     }
 
 
     void ActivateController(HidController controller) {
     void ActivateController(HidController controller) {