Browse Source

This change looks okay in the general case.
If we run into problems where these events aren't dispatched (initialized on a different thread than the main thread?) we may need to create a separate thread to handle device notifications like we do with the windows joystick subsystem.

Sam Lantinga 6 years ago
parent
commit
14c55ac890
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/joystick/hidapi/SDL_hidapijoystick.c

+ 3 - 1
src/joystick/hidapi/SDL_hidapijoystick.c

@@ -307,7 +307,8 @@ HIDAPI_UpdateDiscovery()
         return;
         return;
     }
     }
 
 
-#if 0 /* just let the usual SDL_PumpEvents loop dispatch these. --ryan.   defined(__WIN32__)*/
+#if defined(__WIN32__)
+#if 0 /* just let the usual SDL_PumpEvents loop dispatch these, fixing bug 4286. --ryan. */
     /* We'll only get messages on the same thread that created the window */
     /* We'll only get messages on the same thread that created the window */
     if (SDL_ThreadID() == SDL_HIDAPI_discovery.m_nThreadID) {
     if (SDL_ThreadID() == SDL_HIDAPI_discovery.m_nThreadID) {
         MSG msg;
         MSG msg;
@@ -319,6 +320,7 @@ HIDAPI_UpdateDiscovery()
         }
         }
     }
     }
 #endif
 #endif
+#endif /* __WIN32__ */
 
 
 #if defined(__MACOSX__)
 #if defined(__MACOSX__)
     if (SDL_HIDAPI_discovery.m_notificationPort) {
     if (SDL_HIDAPI_discovery.m_notificationPort) {