hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
From d6d5ba5563a406085dfa25fedb79a8e74fac570c Mon Sep 17 00:00:00 2001
From: Jeffy Chen <jeffy.chen@rock-chips.com>
Date: Mon, 18 Oct 2021 16:10:11 +0800
Subject: [PATCH 15/17] gsttools: videowidget: Reflush window handle even it's
 unchanged
 
To avoid losing video after hide() and show().
 
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
---
 src/gsttools/qgstreamervideowidget.cpp | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)
 
diff --git a/src/gsttools/qgstreamervideowidget.cpp b/src/gsttools/qgstreamervideowidget.cpp
index 931b24d0..390b36b6 100644
--- a/src/gsttools/qgstreamervideowidget.cpp
+++ b/src/gsttools/qgstreamervideowidget.cpp
@@ -186,11 +186,8 @@ void QGstreamerVideoWidgetControl::onNativeVideoSizeChanged()
 bool QGstreamerVideoWidgetControl::eventFilter(QObject *object, QEvent *e)
 {
     if (m_widget && object == m_widget) {
-        if (e->type() == QEvent::ParentChange || e->type() == QEvent::Show || e->type() == QEvent::WinIdChange) {
-            WId newWId = m_widget->videoWinId();
-            if (newWId != m_windowId)
-                m_videoOverlay.setWindowHandle(m_windowId = newWId);
-        }
+        if (e->type() == QEvent::ParentChange || e->type() == QEvent::Show || e->type() == QEvent::WinIdChange)
+            m_videoOverlay.setWindowHandle(m_windowId = m_widget->videoWinId());
 
         if (e->type() == QEvent::Paint) {
             // Update overlay by new size if any.
-- 
2.20.1