diff --git a/Source/Plugins/Plugin_Wiimote/Src/ConfigGamepad.cpp b/Source/Plugins/Plugin_Wiimote/Src/ConfigGamepad.cpp index 6cb79b2a9a..4b13013bde 100644 --- a/Source/Plugins/Plugin_Wiimote/Src/ConfigGamepad.cpp +++ b/Source/Plugins/Plugin_Wiimote/Src/ConfigGamepad.cpp @@ -81,8 +81,8 @@ void WiimotePadConfigDialog::SetButtonTextAll(int id, char text[128]) void WiimotePadConfigDialog::SaveButtonMappingAll(int Slot) { for (int i = 0; i < MAX_WIIMOTES; i++) - { - if (WiiMoteEmu::IDToName(WiiMoteEmu::PadMapping[i].ID) == WiiMoteEmu::IDToName(WiiMoteEmu::PadMapping[Slot].ID)) + { + if (WiiMoteEmu::PadMapping[i].Name.length() > 0 && WiiMoteEmu::PadMapping[i].Name == WiiMoteEmu::PadMapping[Slot].Name) SaveButtonMapping(i, false, Slot); } } @@ -204,6 +204,7 @@ void WiimotePadConfigDialog::SaveButtonMapping(int controller, bool DontChangeId a blank selection. */ if (!DontChangeId) { + if (m_Joyname[FromSlot]->GetSelection() >= WiiMoteEmu::joyinfo.size()) PanicAlert("Bug in SaveButtonMapping"); WiiMoteEmu::PadMapping[controller].ID = WiiMoteEmu::joyinfo.at(m_Joyname[FromSlot]->GetSelection()).ID; WiiMoteEmu::PadMapping[controller].Name = m_Joyname[FromSlot]->GetValue().mb_str(); } diff --git a/Source/Plugins/Plugin_nJoy_SDL/Src/GUI/ConfigBox.cpp b/Source/Plugins/Plugin_nJoy_SDL/Src/GUI/ConfigBox.cpp index 2ba5957e23..e77bb496a4 100644 --- a/Source/Plugins/Plugin_nJoy_SDL/Src/GUI/ConfigBox.cpp +++ b/Source/Plugins/Plugin_nJoy_SDL/Src/GUI/ConfigBox.cpp @@ -437,7 +437,7 @@ void PADConfigDialognJoy::SaveButtonMappingAll(int Slot) { for (int i = 0; i < 4; i++) { - if (IDToName(PadMapping[i].ID) == IDToName(PadMapping[Slot].ID)) + if (PadMapping[i].Name.length() > 0 && PadMapping[i].Name == PadMapping[Slot].Name) SaveButtonMapping(i, false, Slot); } }