[vlc-commits] [Git][videolan/vlc][master] 7 commits: qt: video track menu should not be exclusive

Steve Lhomme (@robUx4) gitlab at videolan.org
Sun Jan 12 16:09:17 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
ec84ca4b by Fatih Uzunoglu at 2025-01-12T15:56:58+00:00
qt: video track menu should not be exclusive

- - - - -
7232af72 by Fatih Uzunoglu at 2025-01-12T15:56:58+00:00
qt: set window pointer to null in `CompositorVideo::windowDestroy()`

- - - - -
57b0d50a by Fatih Uzunoglu at 2025-01-12T15:56:58+00:00
qt: do not try to embed subsequent video windows in CompositorX11

- - - - -
e0ae5497 by Fatih Uzunoglu at 2025-01-12T15:56:58+00:00
qt: do not try to embed subsequent video windows in CompositorDirectComposition

- - - - -
f4af4b84 by Fatih Uzunoglu at 2025-01-12T15:56:58+00:00
qt: do not try to embed subsequent video windows in CompositorPlatform

- - - - -
86023984 by Fatih Uzunoglu at 2025-01-12T15:56:58+00:00
qt: do not try to embed subsequent video windows in CompositorWin7

- - - - -
f4b5adcb by Fatih Uzunoglu at 2025-01-12T15:56:58+00:00
qt: do not try to embed subsequent video windows in CompositorWayland

- - - - -


7 changed files:

- modules/gui/qt/maininterface/compositor.cpp
- modules/gui/qt/maininterface/compositor_dcomp.cpp
- modules/gui/qt/maininterface/compositor_platform.cpp
- modules/gui/qt/maininterface/compositor_wayland.cpp
- modules/gui/qt/maininterface/compositor_win7.cpp
- modules/gui/qt/maininterface/compositor_x11.cpp
- modules/gui/qt/menus/menus.cpp


Changes:

=====================================
modules/gui/qt/maininterface/compositor.cpp
=====================================
@@ -220,6 +220,9 @@ void CompositorVideo::windowDestroy()
 
     if (m_destroyCb)
         m_destroyCb(m_wnd);
+
+    m_wnd = nullptr;
+    m_destroyCb = nullptr;
 }
 
 void CompositorVideo::windowResize(unsigned width, unsigned height)


=====================================
modules/gui/qt/maininterface/compositor_dcomp.cpp
=====================================
@@ -349,6 +349,9 @@ void CompositorDirectComposition::unloadGUI()
 
 bool CompositorDirectComposition::setupVoutWindow(vlc_window_t *p_wnd, VoutDestroyCb destroyCb)
 {
+    if (m_wnd)
+        return false;
+
     {
         QMutexLocker lock(&m_setupStateLock);
         while (m_setupState == SetupState::Uninitialized)


=====================================
modules/gui/qt/maininterface/compositor_platform.cpp
=====================================
@@ -121,6 +121,9 @@ void CompositorPlatform::unloadGUI()
 
 bool CompositorPlatform::setupVoutWindow(vlc_window_t *p_wnd, VoutDestroyCb destroyCb)
 {
+    if (m_wnd)
+        return false;
+
     commonSetupVoutWindow(p_wnd, destroyCb);
 
 #ifdef __WIN32


=====================================
modules/gui/qt/maininterface/compositor_wayland.cpp
=====================================
@@ -184,6 +184,9 @@ QQuickItem * CompositorWayland::activeFocusItem() const
 
 bool CompositorWayland::setupVoutWindow(vlc_window_t* p_wnd, VoutDestroyCb destroyCb)
 {
+    if (m_wnd)
+        return false;
+
     int ret = m_waylandImpl->setupVoutWindow(m_waylandImpl, p_wnd);
     if (ret != VLC_SUCCESS)
         return false;


=====================================
modules/gui/qt/maininterface/compositor_win7.cpp
=====================================
@@ -130,6 +130,9 @@ void CompositorWin7::unloadGUI()
 
 bool CompositorWin7::setupVoutWindow(vlc_window_t *p_wnd, VoutDestroyCb destroyCb)
 {
+    if (m_wnd)
+        return false;
+
     BOOL isCompositionEnabled;
     HRESULT hr = DwmIsCompositionEnabled(&isCompositionEnabled);
 


=====================================
modules/gui/qt/maininterface/compositor_x11.cpp
=====================================
@@ -248,6 +248,9 @@ void CompositorX11::onSurfaceSizeChanged(const QSizeF& size)
 
 bool CompositorX11::setupVoutWindow(vlc_window_t* p_wnd, VoutDestroyCb destroyCb)
 {
+    if (m_wnd)
+        return false;
+
     p_wnd->type = VLC_WINDOW_TYPE_XID;
     p_wnd->handle.xid = m_videoWidget->winId();
     commonSetupVoutWindow(p_wnd, destroyCb);


=====================================
modules/gui/qt/menus/menus.cpp
=====================================
@@ -453,7 +453,7 @@ void VLCMenuBar::VideoMenu( qt_intf_t *p_intf, QMenu *current )
 {
     if( current->isEmpty() )
     {
-        current->addMenu(new CheckableListMenu(qtr( "Video &Track" ), THEMIM->getVideoTracks(), QActionGroup::ExclusionPolicy::ExclusiveOptional, current));
+        current->addMenu(new CheckableListMenu(qtr( "Video &Track" ), THEMIM->getVideoTracks(), QActionGroup::ExclusionPolicy::None, current));
 
         current->addSeparator();
         /* Surface modifiers */



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/eafbf0c65306c3612b66860fb3f1a06eb956e00c...f4b5adcb977f47835665be1610e71c975aeced18

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/eafbf0c65306c3612b66860fb3f1a06eb956e00c...f4b5adcb977f47835665be1610e71c975aeced18
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