diff options
Diffstat (limited to 'src/quickwidgets/qquickwidget.cpp')
-rw-r--r-- | src/quickwidgets/qquickwidget.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index e20e5f22ab..687aeabfe5 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -55,6 +55,8 @@ #include <private/qqmlengine_p.h> #include <QtCore/qbasictimer.h> #include <QtGui/QOffscreenSurface> +#include <QtGui/private/qguiapplication_p.h> +#include <QtGui/qpa/qplatformintegration.h> #ifdef Q_OS_WIN # include <QtWidgets/QMessageBox> @@ -89,7 +91,11 @@ void QQuickWidgetPrivate::init(QQmlEngine* e) // Do not call create() on offscreenWindow. createOffscreenSurface(); - setRenderToTexture(); + if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::RasterGLSurface)) + setRenderToTexture(); + else + qWarning("QQuickWidget is not supported on this platform."); + engine = e; if (engine.isNull()) @@ -941,6 +947,20 @@ void QQuickWidget::wheelEvent(QWheelEvent *e) } #endif + +void QQuickWidget::focusInEvent(QFocusEvent * event) +{ + Q_D(QQuickWidget); + d->offscreenWindow->focusInEvent(event); +} + +void QQuickWidget::focusOutEvent(QFocusEvent * event) +{ + Q_D(QQuickWidget); + d->offscreenWindow->focusOutEvent(event); +} + + /*! \reimp */ bool QQuickWidget::event(QEvent *e) { |