Fixed using uninitialized display data in iMX6 initialization
parent
24c86b5501
commit
2bfb3c3e82
|
@ -48,12 +48,12 @@ if (!egl_viv_data->NAME) \
|
|||
/* EGL implementation of SDL OpenGL support */
|
||||
|
||||
int
|
||||
MX6_GLES_LoadLibrary(_THIS, const char *egl_path) {
|
||||
MX6_GLES_LoadLibrary(_THIS, const char *egl_path)
|
||||
{
|
||||
/* The definitions of egl_dll_handle and dll_handle were interchanged for some reason.
|
||||
Just left them as is for compatibility */
|
||||
void *dll_handle = NULL, *egl_dll_handle = NULL;
|
||||
char *path = NULL;
|
||||
SDL_DisplayData *displaydata;
|
||||
|
||||
if (_this->egl_data) {
|
||||
return SDL_SetError("OpenGL ES context already created");
|
||||
|
@ -149,9 +149,7 @@ MX6_GLES_LoadLibrary(_THIS, const char *egl_path) {
|
|||
LOAD_VIV_FUNC(fbGetPixmapInfo);
|
||||
LOAD_VIV_FUNC(fbDestroyPixmap);
|
||||
|
||||
displaydata = SDL_GetDisplayDriverData(0);
|
||||
|
||||
_this->egl_data->egl_display = _this->egl_data->eglGetDisplay(displaydata->native_display);
|
||||
_this->egl_data->egl_display = _this->egl_data->eglGetDisplay(egl_viv_data->fbGetDisplayByIndex(0));
|
||||
if (!_this->egl_data->egl_display) {
|
||||
return SDL_SetError("Could not get EGL display");
|
||||
}
|
||||
|
@ -160,8 +158,6 @@ MX6_GLES_LoadLibrary(_THIS, const char *egl_path) {
|
|||
return SDL_SetError("Could not initialize EGL");
|
||||
}
|
||||
|
||||
displaydata->egl_display = _this->egl_data->egl_display;
|
||||
|
||||
_this->gl_config.driver_loaded = 1;
|
||||
|
||||
if (path) {
|
||||
|
|
|
@ -34,7 +34,6 @@ typedef struct SDL_VideoData
|
|||
typedef struct SDL_DisplayData
|
||||
{
|
||||
EGLNativeDisplayType native_display;
|
||||
EGLDisplay egl_display;
|
||||
} SDL_DisplayData;
|
||||
|
||||
typedef struct SDL_WindowData
|
||||
|
|
Loading…
Reference in New Issue