diff options
Diffstat (limited to 'tests/manual/qopenglcontext/qopenglcontextwindow.cpp')
-rw-r--r-- | tests/manual/qopenglcontext/qopenglcontextwindow.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/tests/manual/qopenglcontext/qopenglcontextwindow.cpp b/tests/manual/qopenglcontext/qopenglcontextwindow.cpp index 0763d7244c..67898c0028 100644 --- a/tests/manual/qopenglcontext/qopenglcontextwindow.cpp +++ b/tests/manual/qopenglcontext/qopenglcontextwindow.cpp @@ -34,7 +34,6 @@ #include <qpa/qplatformnativeinterface.h> #include <QtEglSupport/private/qeglconvenience_p.h> -#include <QtPlatformHeaders/QEGLNativeContext> QOpenGLContextWindow::QOpenGLContextWindow() : m_blitter(0) @@ -98,7 +97,12 @@ void QOpenGLContextWindow::createForeignContext() // underlying native context. This way the texture, that belongs to the context // created here, will be accessible from m_context too. - EGLContext shareCtx = m_context->nativeHandle().value<QEGLNativeContext>().context(); + using namespace QPlatformInterface; + auto *eglContext = m_context->platformInterface<QEGLContext>(); + if (!eglContext) + qFatal("Not running with EGL backend"); + + EGLContext shareCtx = eglContext->nativeContext(); Q_ASSERT(shareCtx != EGL_NO_CONTEXT); EGLDisplay dpy = (EGLDisplay) qGuiApp->platformNativeInterface()->nativeResourceForWindow( @@ -127,12 +131,8 @@ void QOpenGLContextWindow::createForeignContext() Q_ASSERT(ctx != EGL_NO_CONTEXT); // Wrap ctx into a QOpenGLContext. - QOpenGLContext *ctxWrap = new QOpenGLContext; - ctxWrap->setNativeHandle(QVariant::fromValue<QEGLNativeContext>(QEGLNativeContext(ctx, dpy))); - ctxWrap->setShareContext(m_context); // only needed for correct bookkeeping - if (!ctxWrap->create()) - qFatal("Failed to created wrapping context"); - Q_ASSERT(ctxWrap->nativeHandle().value<QEGLNativeContext>().context() == ctx); + QOpenGLContext *ctxWrap = QEGLContext::fromNative(ctx, dpy, m_context); + Q_ASSERT(ctxWrap->platformInterface<QEGLContext>()->nativeContext() == ctx); QOffscreenSurface surface; surface.setFormat(fmt); |