Permalink
Browse files

Fixed joysticks not detected when checked at application startup.

  • Loading branch information...
LaurentGomila committed Feb 2, 2013
1 parent f3d2129 commit fa69228716efdfe480724af72ec5141de3021345
Showing with 4 additions and 2 deletions.
  1. +4 −2 src/SFML/Window/Win32/JoystickImpl.cpp
@@ -35,9 +35,10 @@ namespace
{
struct ConnectionCache
{
- ConnectionCache() : connected(false) {}
+ ConnectionCache() : connected(false), firstTime(true) {}
bool connected;
sf::Clock timer;
+ bool firstTime;
};
const sf::Time connectionRefreshDelay = sf::milliseconds(500);
@@ -55,9 +56,10 @@ bool JoystickImpl::isConnected(unsigned int index)
// because of a strange (buggy?) behaviour of joyGetPosEx when joysticks
// are just plugged/unplugged -- it takes really long and kills the app performances
ConnectionCache& cache = connectionCache[index];
- if (cache.timer.getElapsedTime() > connectionRefreshDelay)
+ if (cache.firstTime || (cache.timer.getElapsedTime() > connectionRefreshDelay))
{
cache.timer.restart();
+ cache.firstTime = false;
JOYINFOEX joyInfo;
joyInfo.dwSize = sizeof(joyInfo);

0 comments on commit fa69228

Please sign in to comment.