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
1 changed files with 16 additions and 6 deletions

View File

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