mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 06:39:46 -06:00
Merge pull request #2295 from comex/fix-usb-threading
Fix threading issues
This commit is contained in:
@ -1584,17 +1584,21 @@ void CFrame::ConnectWiimote(int wm_idx, bool connect)
|
||||
{
|
||||
if (Core::IsRunning() && SConfig::GetInstance().m_LocalCoreStartupParameter.bWii)
|
||||
{
|
||||
bool was_unpaused = Core::PauseAndLock(true);
|
||||
GetUsbPointer()->AccessWiiMote(wm_idx | 0x100)->Activate(connect);
|
||||
wxString msg(wxString::Format(_("Wiimote %i %s"), wm_idx + 1,
|
||||
connect ? _("Connected") : _("Disconnected")));
|
||||
Core::DisplayMessage(WxStrToStr(msg), 3000);
|
||||
Host_UpdateMainFrame();
|
||||
Core::PauseAndLock(false, was_unpaused);
|
||||
}
|
||||
}
|
||||
|
||||
void CFrame::OnConnectWiimote(wxCommandEvent& event)
|
||||
{
|
||||
bool was_unpaused = Core::PauseAndLock(true);
|
||||
ConnectWiimote(event.GetId() - IDM_CONNECT_WIIMOTE1, !GetUsbPointer()->AccessWiiMote((event.GetId() - IDM_CONNECT_WIIMOTE1) | 0x100)->IsConnected());
|
||||
Core::PauseAndLock(false, was_unpaused);
|
||||
}
|
||||
|
||||
// Toggle fullscreen. In Windows the fullscreen mode is accomplished by expanding the m_Panel to cover
|
||||
@ -1792,6 +1796,7 @@ void CFrame::UpdateGUI()
|
||||
GetMenuBar()->FindItem(IDM_CONNECT_BALANCEBOARD)->Enable(RunningWii);
|
||||
if (RunningWii)
|
||||
{
|
||||
bool was_unpaused = Core::PauseAndLock(true);
|
||||
GetMenuBar()->FindItem(IDM_CONNECT_WIIMOTE1)->Check(GetUsbPointer()->
|
||||
AccessWiiMote(0x0100)->IsConnected());
|
||||
GetMenuBar()->FindItem(IDM_CONNECT_WIIMOTE2)->Check(GetUsbPointer()->
|
||||
@ -1802,6 +1807,7 @@ void CFrame::UpdateGUI()
|
||||
AccessWiiMote(0x0103)->IsConnected());
|
||||
GetMenuBar()->FindItem(IDM_CONNECT_BALANCEBOARD)->Check(GetUsbPointer()->
|
||||
AccessWiiMote(0x0104)->IsConnected());
|
||||
Core::PauseAndLock(false, was_unpaused);
|
||||
}
|
||||
|
||||
if (m_ToolBar)
|
||||
|
@ -371,7 +371,6 @@ void DolphinApp::OnEndSession(wxCloseEvent& event)
|
||||
|
||||
int DolphinApp::OnExit()
|
||||
{
|
||||
Core::Shutdown();
|
||||
UICommon::Shutdown();
|
||||
|
||||
delete m_locale;
|
||||
|
@ -348,7 +348,6 @@ int main(int argc, char* argv[])
|
||||
while (PowerPC::GetState() != PowerPC::CPU_POWERDOWN)
|
||||
updateMainFrameEvent.Wait();
|
||||
|
||||
Core::Shutdown();
|
||||
platform->Shutdown();
|
||||
UICommon::Shutdown();
|
||||
|
||||
|
Reference in New Issue
Block a user