diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2020-08-31 08:54:00 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2020-08-31 09:55:10 +0200 |
commit | bb263b057df71144428fd1981eba7e505bf22b89 (patch) | |
tree | 6a815bddf862cc7bda9900bda6c346f43a2e0c99 /src/quickwidgets | |
parent | 5a59cbfee71907c47587a1e3d340d31abfdc01ba (diff) |
Revive QQuickWidget rendering
Follows 3d03f4e989e0ae53569a1a2e390d71c41d91f329. After that patch nothing guaranteed
that qt_registerDefaultPlatformBackingStoreOpenGLSupport() got called in QQuickWidget
applications (unless they also use QOpenGLWidget, which is rare). This is now
corrected.
Fixes: QTBUG-86335
Change-Id: I0420bbf97ca6c72227aa58a1d083fef04f86a1f8
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/quickwidgets')
-rw-r--r-- | src/quickwidgets/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/quickwidgets/qquickwidget.cpp | 5 | ||||
-rw-r--r-- | src/quickwidgets/quickwidgets.pro | 2 |
3 files changed, 15 insertions, 0 deletions
diff --git a/src/quickwidgets/CMakeLists.txt b/src/quickwidgets/CMakeLists.txt index 53a233e341..db1f39caad 100644 --- a/src/quickwidgets/CMakeLists.txt +++ b/src/quickwidgets/CMakeLists.txt @@ -31,3 +31,11 @@ qt_add_module(QuickWidgets Qt::QuickPrivate Qt::WidgetsPrivate ) + +## Scopes: +##################################################################### + +qt_extend_target(QuickWidgets CONDITION QT_FEATURE_opengl + LIBRARIES + Qt::OpenGLPrivate +) diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index 572e436cc5..1c9fc3ca69 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -65,6 +65,7 @@ #include <QOpenGLFramebufferObject> #include <QOpenGLContext> #include <QOpenGLFunctions> +#include <QtOpenGL/qpa/qplatformbackingstoreopenglsupport.h> #endif #include <QtGui/QPainter> @@ -1794,6 +1795,10 @@ void QQuickWidget::paintEvent(QPaintEvent *event) } } +#if QT_CONFIG(opengl) +Q_CONSTRUCTOR_FUNCTION(qt_registerDefaultPlatformBackingStoreOpenGLSupport); +#endif + QT_END_NAMESPACE #include "moc_qquickwidget.cpp" diff --git a/src/quickwidgets/quickwidgets.pro b/src/quickwidgets/quickwidgets.pro index 2438e577ae..bbf945d05d 100644 --- a/src/quickwidgets/quickwidgets.pro +++ b/src/quickwidgets/quickwidgets.pro @@ -2,6 +2,8 @@ TARGET = QtQuickWidgets QT = core-private gui-private qml-private quick-private widgets-private +qtConfig(opengl): QT_PRIVATE += opengl-private + DEFINES += QT_NO_URL_CAST_FROM_STRING QT_NO_INTEGER_EVENT_COORDINATES QT_NO_FOREACH HEADERS += \ |