summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2016-11-21 11:33:06 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-11-21 11:33:06 +0100
commitb44962c8bce5489deee289212282cdf2c89b425a (patch)
tree796eeb5c5008a53d61e7cc970d90aed5e7d3b530
parent7a4324f5e4c3927b51e4176daf0d8ae6599c984a (diff)
parent15ded5ca62f53a01f85a52326f0b335a8a012bbd (diff)
Merge remote-tracking branch 'origin/5.7.1' into 5.7
-rw-r--r--dist/changes-5.7.157
m---------src/3rdparty0
-rw-r--r--src/core/web_engine_context.cpp9
-rw-r--r--src/webengine/api/qquickwebenginefaviconprovider.cpp2
-rw-r--r--src/webenginewidgets/api/qtwebenginewidgetsglobal.cpp19
5 files changed, 78 insertions, 9 deletions
diff --git a/dist/changes-5.7.1 b/dist/changes-5.7.1
new file mode 100644
index 000000000..bf5934320
--- /dev/null
+++ b/dist/changes-5.7.1
@@ -0,0 +1,57 @@
+Qt 5.7.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.7.0.
+
+Qt 5.7.1 contains a merge from Qt 5.6.2 and all changes in Qt 5.6.2 are
+also in Qt 5.7.1. For more see changes-5.6.2.
+
+Qt 5.7 introduces many new features and improvements as well as bugfixes
+over the 5.6.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+ http://doc.qt.io/qt-5/index.html
+
+The Qt version 5.7 series is binary compatible with the 5.6.x series.
+Applications compiled for 5.6 will continue to run with 5.7.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+ https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* General *
+****************************************************************************
+
+ - Chromium Snapshot:
+ * Security fixes from Chromium up to version 54.0.2840.87
+ Including: CVE-2016-5133, CVE-2016-5147, CVE-2016-5153, CVE-2016-5155,
+ CVE-2016-5161, CVE-2016-5166, CVE-2016-5170, CVE-2016-5171,
+ CVE-2016-5172, CVE-2016-5181, CVE-2016-5185, CVE-2016-5186,
+ CVE-2016-5187, CVE-2016-5188, CVE-2016-5192, CVE-2016-5198
+ * Support for macOS 10.12 Sierra
+ * Various backported crash and assert fixes
+
+ - QtWebEngineCore:
+ * [QTBUG-51244, QTBUG-54795] Fixed select control issues
+ * Fixed several focus issues.
+ * Fixed regression with fine-grained wheel events.
+ * [QTBUG-54221] Fixed editing short-cuts in plugins.
+ * [QTBUG-54222] Fixed potential infinite loop on history load.
+ * Fixed Flash plugin clipboard access.
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+ - Linux:
+ * [QTBUG-55367] Fixed reading timezone when running sandboxed
+ * Fixed crash when using Wayland QPA
+ * Improved OpenGL check, so EGL/GLES2 mode can be used with Desktop
+ OpenGL if the driver has th ARB_ES2_compatibility extension.
+
+ - Windows:
+ * [QTBUG-52201, QTBUG-55501, QTBUG-56020] Fixed crashes and asserts
+ upon initialization of the global shared OpenGL context.
diff --git a/src/3rdparty b/src/3rdparty
-Subproject 881a7672e23192eaf7e1ac2f94e086b560104f1
+Subproject b3c79e92f0a631273b639af171e59f4c367ae02
diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp
index 0d1d7b127..39e11a96d 100644
--- a/src/core/web_engine_context.cpp
+++ b/src/core/web_engine_context.cpp
@@ -314,7 +314,14 @@ WebEngineContext::WebEngineContext()
const char *glType = 0;
if (!usingANGLE() && !usingSoftwareDynamicGL() && !usingQtQuick2DRenderer()) {
if (qt_gl_global_share_context() && qt_gl_global_share_context()->isValid()) {
- if (!strcmp(qt_gl_global_share_context()->nativeHandle().typeName(), "QEGLNativeContext")) {
+ // If the native handle is QEGLNativeContext try to use GL ES/2, if there is no native handle
+ // assume we are using wayland and try GL ES/2, and finally Ozone demands GL ES/2 too.
+ if (qt_gl_global_share_context()->nativeHandle().isNull()
+#ifdef USE_OZONE
+ || true
+#endif
+ || !strcmp(qt_gl_global_share_context()->nativeHandle().typeName(), "QEGLNativeContext"))
+ {
if (qt_gl_global_share_context()->isOpenGLES()) {
glType = gfx::kGLImplementationEGLName;
} else {
diff --git a/src/webengine/api/qquickwebenginefaviconprovider.cpp b/src/webengine/api/qquickwebenginefaviconprovider.cpp
index fe8436d6c..b5ad6960a 100644
--- a/src/webengine/api/qquickwebenginefaviconprovider.cpp
+++ b/src/webengine/api/qquickwebenginefaviconprovider.cpp
@@ -152,7 +152,7 @@ QQuickWebEngineView *QQuickWebEngineFaviconProvider::viewForIconUrl(const QUrl &
// latest WebEngineView which was raised an iconChanged signal.
if (m_latestView) {
QList<QUrl> *iconUrls = m_iconUrlMap[m_latestView];
- if (iconUrls->contains(iconUrl))
+ if (iconUrls && iconUrls->contains(iconUrl))
return m_latestView;
}
diff --git a/src/webenginewidgets/api/qtwebenginewidgetsglobal.cpp b/src/webenginewidgets/api/qtwebenginewidgetsglobal.cpp
index e47f135e8..bf3514f71 100644
--- a/src/webenginewidgets/api/qtwebenginewidgetsglobal.cpp
+++ b/src/webenginewidgets/api/qtwebenginewidgetsglobal.cpp
@@ -48,17 +48,22 @@ namespace QtWebEngineCore
}
QT_BEGIN_NAMESPACE
+
+Q_GUI_EXPORT QOpenGLContext *qt_gl_global_share_context();
+
static void initialize()
{
- //On window/ANGLE, calling QtWebEngine::initialize from DllMain will result in a crash.
- //To ensure it doesn't, we check that when loading the library
- //QCoreApplication is not yet instantiated, ensuring the call will be deferred
-#if defined(Q_OS_WIN)
- if (QCoreApplication::instance()
- && QOpenGLContext::openGLModuleType() == QOpenGLContext::LibGLES) {
+ if (QCoreApplication::instance()) {
+ //On window/ANGLE, calling QtWebEngine::initialize from DllMain will result in a crash.
+ if (!qt_gl_global_share_context()) {
+ qWarning("Qt WebEngine seems to be initialized from a plugin. Please "
+ "set Qt::AA_ShareOpenGLContexts using QCoreApplication::setAttribute "
+ "before constructing QGuiApplication.");
+ }
return;
}
-#endif
+
+ //QCoreApplication is not yet instantiated, ensuring the call will be deferred
qAddPreRoutine(QtWebEngineCore::initialize);
}