aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickwidgets/qquickwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quickwidgets/qquickwidget.cpp')
-rw-r--r--src/quickwidgets/qquickwidget.cpp22
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)
{