1*4882a593SmuzhiyunFrom 65dce9bd2fc22cef26460a834ca770982322fda9 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com> 3*4882a593SmuzhiyunDate: Mon, 18 Oct 2021 16:10:11 +0800 4*4882a593SmuzhiyunSubject: [PATCH 15/17] gsttools: videowidget: Reflush window handle even it's 5*4882a593Smuzhiyun unchanged 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunTo avoid losing video after hide() and show(). 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 10*4882a593Smuzhiyun--- 11*4882a593Smuzhiyun src/gsttools/qgstreamervideowidget.cpp | 7 ++----- 12*4882a593Smuzhiyun 1 file changed, 2 insertions(+), 5 deletions(-) 13*4882a593Smuzhiyun 14*4882a593Smuzhiyundiff --git a/src/gsttools/qgstreamervideowidget.cpp b/src/gsttools/qgstreamervideowidget.cpp 15*4882a593Smuzhiyunindex f082bec..878702c 100644 16*4882a593Smuzhiyun--- a/src/gsttools/qgstreamervideowidget.cpp 17*4882a593Smuzhiyun+++ b/src/gsttools/qgstreamervideowidget.cpp 18*4882a593Smuzhiyun@@ -187,11 +187,8 @@ void QGstreamerVideoWidgetControl::onNativeVideoSizeChanged() 19*4882a593Smuzhiyun bool QGstreamerVideoWidgetControl::eventFilter(QObject *object, QEvent *e) 20*4882a593Smuzhiyun { 21*4882a593Smuzhiyun if (m_widget && object == m_widget) { 22*4882a593Smuzhiyun- if (e->type() == QEvent::ParentChange || e->type() == QEvent::Show || e->type() == QEvent::WinIdChange) { 23*4882a593Smuzhiyun- WId newWId = m_widget->videoWinId(); 24*4882a593Smuzhiyun- if (newWId != m_windowId) 25*4882a593Smuzhiyun- m_videoOverlay.setWindowHandle(m_windowId = newWId); 26*4882a593Smuzhiyun- } 27*4882a593Smuzhiyun+ if (e->type() == QEvent::ParentChange || e->type() == QEvent::Show || e->type() == QEvent::WinIdChange) 28*4882a593Smuzhiyun+ m_videoOverlay.setWindowHandle(m_windowId = m_widget->videoWinId()); 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun if (e->type() == QEvent::Paint) { 31*4882a593Smuzhiyun // Update overlay by new size if any. 32*4882a593Smuzhiyun-- 33*4882a593Smuzhiyun2.20.1 34*4882a593Smuzhiyun 35