summaryrefslogtreecommitdiffstats
path: root/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp')
-rw-r--r--src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp
index f5480b0ed..5c585746c 100644
--- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp
+++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp
@@ -48,6 +48,8 @@
#include <qpa/qplatformopenglcontext.h>
#include <QtGui/QSurfaceFormat>
+#include <dlfcn.h>
+
QT_BEGIN_NAMESPACE
namespace QtWaylandClient {
@@ -92,9 +94,12 @@ void QWaylandBrcmGLContext::swapBuffers(QPlatformSurface *surface)
static_cast<QWaylandBrcmEglWindow *>(surface)->swapBuffers();
}
-void (*QWaylandBrcmGLContext::getProcAddress(const char *procName)) ()
+QFunctionPointer QWaylandBrcmGLContext::getProcAddress(const char *procName)
{
- return eglGetProcAddress(procName);
+ QFunctionPointer proc = (QFunctionPointer) eglGetProcAddress(procName);
+ if (!proc)
+ proc = (QFunctionPointer) dlsym(RTLD_DEFAULT, procName);
+ return proc;
}
EGLConfig QWaylandBrcmGLContext::eglConfig() const