diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-02-08 17:20:19 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-02-08 17:20:34 +0100 |
commit | 776442f2117c4b2d6dac75ab56b42bd82e2ce6d0 (patch) | |
tree | 8b1730f28cb700e58bf254c440c4167991b94fe3 /src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp | |
parent | 82f4d13a13b40d9cb7710f6dd4190175a272a394 (diff) | |
parent | 489c9d0f631f79057bb16994b6719395d97f80ab (diff) |
Merge remote-tracking branch 'origin/5.6.0' into 5.6
Change-Id: I98705a1bb82917147f36a89761eedfc755a45bc5
Diffstat (limited to 'src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp')
-rw-r--r-- | src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp index 9871ecfb1..7eca835d5 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp @@ -64,9 +64,30 @@ RenderWidgetHostViewQtDelegateWidget::RenderWidgetHostViewQtDelegateWidget(Rende setFocusPolicy(Qt::StrongFocus); #if (QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)) + QSurfaceFormat format; format.setDepthBufferSize(24); format.setStencilBufferSize(8); + + QOpenGLContext *globalSharedContext = QOpenGLContext::globalShareContext(); + if (globalSharedContext) { + QSurfaceFormat sharedFormat = globalSharedContext->format(); + +#ifdef Q_OS_OSX + // Check that the default QSurfaceFormat OpenGL profile matches the global OpenGL shared + // context profile, otherwise this could lead to a nasty crash. + QSurfaceFormat defaultFormat = QSurfaceFormat::defaultFormat(); + if (defaultFormat.profile() != sharedFormat.profile()) { + qFatal("QWebEngine: Default QSurfaceFormat OpenGL profile does not match global shared context OpenGL profile. Please make sure you set a new QSurfaceFormat before the QtGui application instance is created."); + } +#endif + + // Make sure the OpenGL profile of the QOpenGLWidget matches the shared context profile. + format.setMajorVersion(sharedFormat.majorVersion()); + format.setMinorVersion(sharedFormat.minorVersion()); + format.setProfile(sharedFormat.profile()); + } + setFormat(format); #endif |