summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-08-01 12:43:16 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-08-03 22:50:23 +0000
commit881078d7b5331d62fa52021eae24c115fab87861 (patch)
treebd99f066aee9d7525f63758f0ffc383c6b7085cd /src/plugins/platforms/cocoa
parentfed7876e205a34289891aeba51dd28b07606a59b (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>
Diffstat (limited to 'src/plugins/platforms/cocoa')
-rw-r--r--src/plugins/platforms/cocoa/qcocoaglcontext.h3
-rw-r--r--src/plugins/platforms/cocoa/qcocoaglcontext.mm11
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm4
-rw-r--r--src/plugins/platforms/cocoa/qcocoanativeinterface.mm8
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;
}