diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2018-08-01 12:43:16 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2018-08-03 22:50:23 +0000 |
commit | 881078d7b5331d62fa52021eae24c115fab87861 (patch) | |
tree | bd99f066aee9d7525f63758f0ffc383c6b7085cd | |
parent | fed7876e205a34289891aeba51dd28b07606a59b (diff) |
macOS: Disambiguate use of native handles in QCocoaGLContext
We only need the QVariant native handle when creating the context, so
there's no need for a getter, and we then rename the NSOpenGLContext
getter to match e.g. QCocoaScreen::nativeScreen().
Change-Id: I041e0eff39af9c8836d8ecd560ea07e92dc63e03
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaglcontext.h | 3 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaglcontext.mm | 11 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaintegration.mm | 4 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoanativeinterface.mm | 8 |
4 files changed, 10 insertions, 16 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaglcontext.h b/src/plugins/platforms/cocoa/qcocoaglcontext.h index 74f3442c1d..1bfe906942 100644 --- a/src/plugins/platforms/cocoa/qcocoaglcontext.h +++ b/src/plugins/platforms/cocoa/qcocoaglcontext.h @@ -67,8 +67,7 @@ public: void windowWasHidden(); - NSOpenGLContext *nsOpenGLContext() const; - QVariant nativeHandle() const; + NSOpenGLContext *nativeContext() const; QFunctionPointer getProcAddress(const char *procName) override; diff --git a/src/plugins/platforms/cocoa/qcocoaglcontext.mm b/src/plugins/platforms/cocoa/qcocoaglcontext.mm index febe255dfc..306a143f98 100644 --- a/src/plugins/platforms/cocoa/qcocoaglcontext.mm +++ b/src/plugins/platforms/cocoa/qcocoaglcontext.mm @@ -78,7 +78,7 @@ QCocoaGLContext::QCocoaGLContext(const QSurfaceFormat &format, QPlatformOpenGLCo } m_context = context; [m_context retain]; - m_shareContext = share ? static_cast<QCocoaGLContext *>(share)->nsOpenGLContext() : nil; + m_shareContext = share ? static_cast<QCocoaGLContext *>(share)->nativeContext() : nil; updateSurfaceFormat(); return; } @@ -89,7 +89,7 @@ QCocoaGLContext::QCocoaGLContext(const QSurfaceFormat &format, QPlatformOpenGLCo if (m_format.renderableType() != QSurfaceFormat::OpenGL) return; - m_shareContext = share ? static_cast<QCocoaGLContext *>(share)->nsOpenGLContext() : nil; + m_shareContext = share ? static_cast<QCocoaGLContext *>(share)->nativeContext() : nil; if (m_shareContext) { // Allow sharing between 3.2 Core and 4.1 Core profile versions in @@ -468,16 +468,11 @@ bool QCocoaGLContext::isSharing() const return m_shareContext != nil; } -NSOpenGLContext *QCocoaGLContext::nsOpenGLContext() const +NSOpenGLContext *QCocoaGLContext::nativeContext() const { return m_context; } -QVariant QCocoaGLContext::nativeHandle() const -{ - return QVariant::fromValue<QCocoaNativeContext>(QCocoaNativeContext(m_context)); -} - QFunctionPointer QCocoaGLContext::getProcAddress(const char *procName) { return (QFunctionPointer)dlsym(RTLD_DEFAULT, procName); diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index 8ad76eb05e..d13d08d843 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -59,6 +59,8 @@ #include <qpa/qplatformoffscreensurface.h> #include <QtCore/qcoreapplication.h> +#include <QtPlatformHeaders/qcocoanativecontext.h> + #include <QtGui/private/qcoregraphics_p.h> #ifdef QT_WIDGETS_LIB @@ -361,7 +363,7 @@ QPlatformOpenGLContext *QCocoaIntegration::createPlatformOpenGLContext(QOpenGLCo QCocoaGLContext *glContext = new QCocoaGLContext(context->format(), context->shareHandle(), context->nativeHandle()); - context->setNativeHandle(glContext->nativeHandle()); + context->setNativeHandle(QVariant::fromValue<QCocoaNativeContext>(glContext->nativeContext())); return glContext; } #endif diff --git a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm index 3c5f4e68db..228df50d86 100644 --- a/src/plugins/platforms/cocoa/qcocoanativeinterface.mm +++ b/src/plugins/platforms/cocoa/qcocoanativeinterface.mm @@ -104,7 +104,7 @@ void *QCocoaNativeInterface::nativeResourceForWindow(const QByteArray &resourceS return static_cast<QCocoaWindow *>(window->handle())->m_view; #ifndef QT_NO_OPENGL } else if (resourceString == "nsopenglcontext") { - return static_cast<QCocoaWindow *>(window->handle())->currentContext()->nsOpenGLContext(); + return static_cast<QCocoaWindow *>(window->handle())->currentContext()->nativeContext(); #endif } else if (resourceString == "nswindow") { return static_cast<QCocoaWindow *>(window->handle())->nativeWindow(); @@ -228,10 +228,8 @@ void *QCocoaNativeInterface::cglContextForContext(QOpenGLContext* context) void *QCocoaNativeInterface::nsOpenGLContextForContext(QOpenGLContext* context) { if (context) { - QCocoaGLContext *cocoaGLContext = static_cast<QCocoaGLContext *>(context->handle()); - if (cocoaGLContext) { - return cocoaGLContext->nsOpenGLContext(); - } + if (QCocoaGLContext *cocoaGLContext = static_cast<QCocoaGLContext *>(context->handle())) + return cocoaGLContext->nativeContext(); } return nullptr; } |