diff --git a/crogine/src/core/App.cpp b/crogine/src/core/App.cpp index c8b47f3bd..3bd675c5d 100644 --- a/crogine/src/core/App.cpp +++ b/crogine/src/core/App.cpp @@ -890,7 +890,15 @@ void App::handleEvents() } SDL_GameControllerClose(m_controllers[controllerIndex].controller); - m_controllers[controllerIndex] = {}; + //m_controllers[controllerIndex] = {}; + + m_controllers[controllerIndex] = m_controllers[m_controllerCount]; + m_controllers[m_controllerCount] = {}; + + if (m_controllers[controllerIndex].controller) + { + SDL_GameControllerSetPlayerIndex(m_controllers[controllerIndex].controller, controllerIndex); + } } if (m_joysticks.count(id) > 0)