summaryrefslogtreecommitdiffstats
path: root/src/multimediawidgets/qvideowidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimediawidgets/qvideowidget.cpp')
-rw-r--r--src/multimediawidgets/qvideowidget.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/multimediawidgets/qvideowidget.cpp b/src/multimediawidgets/qvideowidget.cpp
index e9977c5a8..ab552b90d 100644
--- a/src/multimediawidgets/qvideowidget.cpp
+++ b/src/multimediawidgets/qvideowidget.cpp
@@ -324,6 +324,7 @@ QWindowVideoWidgetBackend::QWindowVideoWidgetBackend(
control->setWinId(widget->winId());
#if defined(Q_OS_WIN)
+ // Disable updates to avoid flickering while resizing/moving.
m_widget->setUpdatesEnabled(false);
#endif
}
@@ -1001,6 +1002,23 @@ void QVideoWidget::paintEvent(QPaintEvent *event)
}
}
+#if defined(Q_OS_WIN)
+bool QVideoWidget::nativeEvent(const QByteArray &eventType, void *message, long *result)
+{
+ Q_D(QVideoWidget);
+ Q_UNUSED(eventType);
+ Q_UNUSED(result);
+
+ MSG *mes = reinterpret_cast<MSG *>(message);
+ if (mes->message == WM_PAINT || mes->message == WM_ERASEBKGND) {
+ if (d->windowBackend)
+ d->windowBackend->showEvent();
+ }
+
+ return false;
+}
+#endif
+
#include "moc_qvideowidget.cpp"
#include "moc_qvideowidget_p.cpp"
QT_END_NAMESPACE