Android: eglBindAPI() won't return on certain devices.

On some devices eglBindAPI() will block forever if called before
eglInitialize().

Task-number: QTBUG-37635

Change-Id: Id27f37e3efcd2ff16e97e1f3381ac3ae8ae0ef33
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
This commit is contained in:
Christian Strømme 2014-03-24 14:11:34 +01:00 committed by The Qt Project
parent 0bd8cc831a
commit d432091622

View File

@ -104,9 +104,6 @@ QAndroidPlatformIntegration::QAndroidPlatformIntegration(const QStringList &para
m_androidPlatformNativeInterface = new QAndroidPlatformNativeInterface();
if (!eglBindAPI(EGL_OPENGL_ES_API))
qFatal("Could not bind GL_ES API");
m_eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
if (m_eglDisplay == EGL_NO_DISPLAY)
qFatal("Could not open egl display");
@ -115,6 +112,9 @@ QAndroidPlatformIntegration::QAndroidPlatformIntegration(const QStringList &para
if (!eglInitialize(m_eglDisplay, &major, &minor))
qFatal("Could not initialize egl display");
if (!eglBindAPI(EGL_OPENGL_ES_API))
qFatal("Could not bind GL_ES API");
m_primaryScreen = new QAndroidPlatformScreen();
screenAdded(m_primaryScreen);
m_primaryScreen->setPhysicalSize(QSize(m_defaultPhysicalSizeWidth, m_defaultPhysicalSizeHeight));