From af72c3b4af3cf4b0f6d9db59e4c506a398c63f7a Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Tue, 29 Nov 2016 11:42:17 +0100 Subject: Unify getProcAddress behavior in xcomposite-glx Task-number: QTBUG-57326 Change-Id: I6e49cce16a3bcda0de2f1a9c9ce97acb0a27c4da Reviewed-by: Lars Knoll --- .../client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp | 9 +++++++-- src/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pri | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src/hardwareintegration') diff --git a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp index 439acc00c..33ae2e038 100644 --- a/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp +++ b/src/hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp @@ -45,6 +45,8 @@ #include +#include + QT_BEGIN_NAMESPACE namespace QtWaylandClient { @@ -94,9 +96,12 @@ void QWaylandXCompositeGLXContext::swapBuffers(QPlatformSurface *surface) w->waitForFrameSync(); } -void (*QWaylandXCompositeGLXContext::getProcAddress(const char *procName)) () +QFunctionPointer QWaylandXCompositeGLXContext::getProcAddress(const char *procName) { - return glXGetProcAddress(reinterpret_cast(procName)); + QFunctionPointer proc = glXGetProcAddress(reinterpret_cast(procName)); + if (!proc) + proc = (QFunctionPointer) dlsym(RTLD_DEFAULT, procName); + return proc; } QSurfaceFormat QWaylandXCompositeGLXContext::format() const diff --git a/src/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pri b/src/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pri index 067378af1..2307319af 100644 --- a/src/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pri +++ b/src/hardwareintegration/client/xcomposite-glx/xcomposite-glx.pri @@ -3,6 +3,8 @@ include ($$PWD/../xcomposite_share/xcomposite_share.pri) QMAKE_USE += wayland-client glx +LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD + QT += glx_support-private SOURCES += \ -- cgit v1.2.3