[vlc-commits] [Git][videolan/vlc][master] qt: fix missing disconnect in `VideoSurface`
Steve Lhomme (@robUx4)
gitlab at videolan.org
Tue Mar 25 06:27:19 UTC 2025
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
826ae377 by Fatih Uzunoglu at 2025-03-25T06:13:35+00:00
qt: fix missing disconnect in `VideoSurface`
- - - - -
2 changed files:
- modules/gui/qt/maininterface/videosurface.cpp
- modules/gui/qt/maininterface/videosurface.hpp
Changes:
=====================================
modules/gui/qt/maininterface/videosurface.cpp
=====================================
@@ -337,7 +337,7 @@ QSGNode *VideoSurface::updatePaintNode(QSGNode *node, UpdatePaintNodeData *data)
if (w != m_oldWindow)
{
if (m_oldWindow)
- disconnect(m_oldWindow, &QQuickWindow::afterRendering, this, &VideoSurface::synchronize);
+ disconnect(m_synchConnection);
m_oldWindow = w;
@@ -347,11 +347,11 @@ QSGNode *VideoSurface::updatePaintNode(QSGNode *node, UpdatePaintNodeData *data)
if (m_provider->supportsThreadedSurfaceUpdates())
{
// Synchronize just before swapping the frame for better synchronization:
- connect(w, &QQuickWindow::afterRendering, this, &VideoSurface::synchronize, Qt::DirectConnection);
+ m_synchConnection = connect(w, &QQuickWindow::afterRendering, this, &VideoSurface::synchronize, Qt::DirectConnection);
}
else
{
- connect(w, &QQuickWindow::afterAnimating, this, &VideoSurface::synchronize);
+ m_synchConnection = connect(w, &QQuickWindow::afterAnimating, this, &VideoSurface::synchronize);
}
}
}
=====================================
modules/gui/qt/maininterface/videosurface.hpp
=====================================
@@ -131,6 +131,7 @@ private:
QPointer<VideoSurfaceProvider> m_provider;
QPointer<QQuickWindow> m_oldWindow;
+ QMetaObject::Connection m_synchConnection;
// This is updated and read from different threads, but during synchronization stage so explicit synchronization
// such as atomic boolean or locking is not necessary:
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/826ae377480fca0886defe7f752806d9ea7b81dd
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/826ae377480fca0886defe7f752806d9ea7b81dd
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