[vlc-commits] [Git][videolan/vlc][master] qt: do not establish synch connection until item is visible in `VideoSurface`

Steve Lhomme (@robUx4) gitlab at videolan.org
Sun Nov 16 03:23:20 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
a937a2c3 by Fatih Uzunoglu at 2025-11-16T03:00:12+00:00
qt: do not establish synch connection until item is visible in `VideoSurface`

For some reason Qt calls `::updatePaintNode()` when the item is invisible
initially.

This is reproduced at initialization, such that pip player is invisible when
it is created but due to that video window adjusts itself to the invisible
pip player for no reason.

- - - - -


1 changed file:

- modules/gui/qt/maininterface/videosurface.cpp


Changes:

=====================================
modules/gui/qt/maininterface/videosurface.cpp
=====================================
@@ -400,7 +400,8 @@ QSGNode *VideoSurface::updatePaintNode(QSGNode *node, UpdatePaintNodeData *data)
     if (Q_UNLIKELY(!m_provider))
         return node;
 
-    if (!m_synchConnection)
+    // WARNING: For some reason `::updatePaintNode()` is called initially when the item is invisible.
+    if (!m_synchConnection && isVisible())
     {
         // Disconnection is made in `::itemChange()`'s `ItemSceneChange` handler.
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/a937a2c3cb96c1e6fa53e7d8f9659fe1e49f6392

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/a937a2c3cb96c1e6fa53e7d8f9659fe1e49f6392
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list