diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-01-28 09:29:52 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-01-31 19:29:44 +0100 |
commit | cd716a2ea2a1f0a3222dcb3cea5d4cee903def09 (patch) | |
tree | a0cb03f388ee330cc4e41cb8a59b415e8284f3c4 /src/webenginewidgets/plugins | |
parent | 3071de1e07be28d763164a037d946281146bf31d (diff) |
QWebEngineView Designer plugin: Fix crash on Windows when using D3D11
Disable the plugin for non-OpenGL graphics API similar to
qttools/482125b15648944d18ae120644f9ffe11b327ff2 for QQuickWidget.
Pick-to: 6.3 6.2
Fixes: QTBUG-100285
Change-Id: Icea3d81c97ef043e953334b134ba632a9daa13a5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/webenginewidgets/plugins')
-rw-r--r-- | src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.cpp b/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.cpp index dff041800..b9c8252a0 100644 --- a/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.cpp +++ b/src/webenginewidgets/plugins/qwebengineview/qwebengineview_plugin.cpp @@ -43,6 +43,7 @@ #include <QtDesigner/QExtensionManager> #include <QtCore/qplugin.h> +#include <QtQuick/QQuickWindow> #include <QWebEngineView> QT_BEGIN_NAMESPACE @@ -114,6 +115,14 @@ void QWebEngineViewPlugin::initialize(QDesignerFormEditorInterface * /*core*/) QString QWebEngineViewPlugin::domXml() const { + const auto graphicsApi = QQuickWindow::graphicsApi(); + if (graphicsApi != QSGRendererInterface::OpenGLRhi + && graphicsApi != QSGRendererInterface::Software) { + qWarning("Qt Designer: The QWebEngineView custom widget plugin is disabled because it requires OpenGL/Software RHI (current: %d).", + int(graphicsApi)); + return {}; + } + return QStringLiteral("\ <ui language=\"c++\">\ <widget class=\"QWebEngineView\" name=\"webEngineView\">\ |