Преглед на файлове

egl: Don't use SDL_LoadFunction to get GL entry points on Emscripten.

This results in a dlsym() call, which causes Emscripten to panic if the game
wasn't explicitly built dlopen support. eglGetProcAddress works just fine on
this platform, so just let that codepath handle it.
Ryan C. Gordon преди 6 години
родител
ревизия
90f9e8f8b6
променени са 1 файла, в които са добавени 3 реда и са изтрити 1 реда
  1. 3 1
      src/video/SDL_egl.c

+ 3 - 1
src/video/SDL_egl.c

@@ -231,6 +231,7 @@ SDL_EGL_GetProcAddress(_THIS, const char *proc)
         retval = _this->egl_data->eglGetProcAddress(proc);
     }
 
+    #ifndef __EMSCRIPTEN__  /* LoadFunction isn't needed on Emscripten and will call dlsym(), causing other problems. */
     /* Try SDL_LoadFunction() first for EGL <= 1.4, or as a fallback for >= 1.5. */
     if (!retval) {
         static char procname[64];
@@ -242,8 +243,9 @@ SDL_EGL_GetProcAddress(_THIS, const char *proc)
             retval = SDL_LoadFunction(_this->egl_data->egl_dll_handle, procname);
         }
     }
+    #endif
 
-    /* Try eglGetProcAddress if we on <= 1.4 and still searching... */
+    /* Try eglGetProcAddress if we're on <= 1.4 and still searching... */
     if (!retval && !is_egl_15_or_later && _this->egl_data->eglGetProcAddress) {
         retval = _this->egl_data->eglGetProcAddress(proc);
         if (retval) {