Fix a bug in wiiuse that prevented a wiimote from being disconnected properly in linux. Also fixed a bug in wiiuse_set_leds on all platforms.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5819 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
2455037d26
commit
6cacc52ebf
|
@ -250,7 +250,7 @@ static int wiiuse_connect_single(struct wiimote_t* wm, char* address) {
|
||||||
* Note that this will not free the wiimote structure.
|
* Note that this will not free the wiimote structure.
|
||||||
*/
|
*/
|
||||||
void wiiuse_disconnect(struct wiimote_t* wm) {
|
void wiiuse_disconnect(struct wiimote_t* wm) {
|
||||||
if (!wm || WIIMOTE_IS_CONNECTED(wm))
|
if (!wm || !WIIMOTE_IS_CONNECTED(wm))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
close(wm->out_sock);
|
close(wm->out_sock);
|
||||||
|
|
|
@ -237,12 +237,11 @@ void wiiuse_set_leds(struct wiimote_t* wm, int leds) {
|
||||||
|
|
||||||
/* remove the lower 4 bits because they control rumble */
|
/* remove the lower 4 bits because they control rumble */
|
||||||
wm->leds = (leds & 0xF0);
|
wm->leds = (leds & 0xF0);
|
||||||
|
buf = wm->leds;
|
||||||
|
|
||||||
/* make sure if the rumble is on that we keep it on */
|
/* make sure if the rumble is on that we keep it on */
|
||||||
if (WIIMOTE_IS_SET(wm, WIIMOTE_STATE_RUMBLE))
|
if (WIIMOTE_IS_SET(wm, WIIMOTE_STATE_RUMBLE))
|
||||||
wm->leds |= 0x01;
|
buf |= 0x01;
|
||||||
|
|
||||||
buf = wm->leds;
|
|
||||||
|
|
||||||
wiiuse_send(wm, WM_CMD_LED, &buf, 1);
|
wiiuse_send(wm, WM_CMD_LED, &buf, 1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue