summaryrefslogtreecommitdiffstats
path: root/tests/manual/qopenglcontext/qopenglcontextwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/qopenglcontext/qopenglcontextwindow.cpp')
-rw-r--r--tests/manual/qopenglcontext/qopenglcontextwindow.cpp16
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);