Commit Graph

9 Commits

Author SHA1 Message Date
Filoppi 83ea16f402 Qt: Fix IOWindow keeping a shared ptr to devices even after them being removed by the ControllerInterface
this prevented some devices from being recreated correctly, as they were exclusive (e.g. DInput Joysticks)

This is achieved by calling Settings::ReleaseDevices(), which releases all the UI devices shared ptrs.
If we are the host (Qt) thread, DevicesChanged() is now called in line, to avoid devices being hanged onto by the UI.
For this, I had to add a method to check whether we are the Host Thread to Qt.

Avoid calling ControllerInterface::RefreshDevices() from the CPU thread if the emulation is running
and we manually refresh devices from Qt, as that is not necessary anymore.

Refactored the way IOWindow lists devices to make it clearer and hold onto disconnected devices.
There were so many issues with the previous code:
-Devices changes would not be reflected until the window was re-opened
-If there was no default device, it would fail to select the device at index 0
-It could have crashed if we had 0 devices
-The default device was not highlighted as such
2021-06-07 11:48:30 +03:00
Filoppi 3c7c2dfaa1 Implement Cursor Locking and new input focus checks for it 2021-05-27 10:31:12 +03:00
Léo Lam bab04155b6
Merge pull request #8745 from AdmiralCurtiss/savestate-load-callback-qt
Qt/Debugger: Refresh on savestate load.
2020-04-27 15:29:55 +02:00
Admiral H. Curtiss 330c80055d Qt/Debugger: Refresh windows on savestate load. 2020-04-15 00:12:35 +02:00
JosJuice 55f787b898 Remove unused function Host_UpdateProgressDialog 2020-04-03 12:53:38 +02:00
Stenzek a3961750a7 Drop Host_GetRenderSurface and pass display to backend 2018-10-20 21:11:34 +10:00
spycrab 13ba24c5a6 Move DolphinQt2 to DolphinQt 2018-07-07 00:48:38 +02:00
Anthony Serna 2ee84a20fe [UI] Remove DolphinQt 2016-01-05 19:42:02 -06:00
waddlesplash f5743f5ee9 DolphinQt: Handle the Host_UpdateTitle callback. 2015-09-13 09:37:00 -04:00