might want to update that when hotplugging joysticks, too

This commit is contained in:
StapleButter
2018-12-30 13:43:59 +01:00
parent 9eab6618da
commit 52d783e066

View File

@ -403,7 +403,7 @@ int EmuThreadFunc(void* burp)
if (Joystick) if (Joystick)
{ {
njoybuttons = SDL_JoystickNumButtons(Joystick); njoybuttons = SDL_JoystickNumButtons(Joystick);
if (njoybuttons) if (njoybuttons)
{ {
joybuttons = new Uint8[njoybuttons]; joybuttons = new Uint8[njoybuttons];
memset(joybuttons, 0, sizeof(Uint8)*njoybuttons); memset(joybuttons, 0, sizeof(Uint8)*njoybuttons);
@ -422,9 +422,9 @@ int EmuThreadFunc(void* burp)
if (EmuRunning == 1) if (EmuRunning == 1)
{ {
EmuStatus = 1; EmuStatus = 1;
SDL_JoystickUpdate(); SDL_JoystickUpdate();
if (Joystick) if (Joystick)
{ {
if (!SDL_JoystickGetAttached(Joystick)) if (!SDL_JoystickGetAttached(Joystick))
@ -436,6 +436,16 @@ int EmuThreadFunc(void* burp)
if (!Joystick && (SDL_NumJoysticks() > 0)) if (!Joystick && (SDL_NumJoysticks() > 0))
{ {
Joystick = SDL_JoystickOpen(0); Joystick = SDL_JoystickOpen(0);
if (Joystick)
{
njoybuttons = SDL_JoystickNumButtons(Joystick);
if (joybuttons) delete[] joybuttons;
if (njoybuttons)
{
joybuttons = new Uint8[njoybuttons];
memset(joybuttons, 0, sizeof(Uint8)*njoybuttons);
}
}
} }
// poll input // poll input
@ -1006,10 +1016,10 @@ void OnAreaResize(uiAreaHandler* handler, uiArea* area, int width, int height)
// but... we never know, I guess // but... we never know, I guess
WindowWidth = width; WindowWidth = width;
WindowHeight = height; WindowHeight = height;
int max = uiWindowMaximized(MainWindow); int max = uiWindowMaximized(MainWindow);
int min = uiWindowMinimized(MainWindow); int min = uiWindowMinimized(MainWindow);
Config::WindowMaximized = max; Config::WindowMaximized = max;
if (!max && !min) if (!max && !min)
{ {
@ -1828,7 +1838,7 @@ int main(int argc, char** argv)
int h = Config::WindowHeight; int h = Config::WindowHeight;
//if (w < 256) w = 256; //if (w < 256) w = 256;
//if (h < 384) h = 384; //if (h < 384) h = 384;
WindowWidth = w; WindowWidth = w;
WindowHeight = h; WindowHeight = h;