aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickwidgets
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2020-08-31 08:54:00 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2020-08-31 09:55:10 +0200
commitbb263b057df71144428fd1981eba7e505bf22b89 (patch)
tree6a815bddf862cc7bda9900bda6c346f43a2e0c99 /src/quickwidgets
parent5a59cbfee71907c47587a1e3d340d31abfdc01ba (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.txt8
-rw-r--r--src/quickwidgets/qquickwidget.cpp5
-rw-r--r--src/quickwidgets/quickwidgets.pro2
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 += \