[vlc-commits] [Git][videolan/vlc][master] 2 commits: qt: fix use after free in `CompositorDummy`
Jean-Baptiste Kempf (@jbk)
gitlab at videolan.org
Tue Jun 9 12:03:14 UTC 2026
Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC
Commits:
26764854 by Fatih Uzunoglu at 2026-06-09T09:17:46+00:00
qt: fix use after free in `CompositorDummy`
This was missed in d12cc266.
- - - - -
e8f4a3d3 by Fatih Uzunoglu at 2026-06-09T09:17:46+00:00
qt: gracefully handle root item creation failure in `CompositorVideo::commonGUICreate()`
- - - - -
2 changed files:
- modules/gui/qt/maininterface/compositor.cpp
- modules/gui/qt/maininterface/compositor_dummy.cpp
Changes:
=====================================
modules/gui/qt/maininterface/compositor.cpp
=====================================
@@ -381,7 +381,10 @@ bool CompositorVideo::commonGUICreate(QWindow* window, QmlUISurface* qmlSurface,
ret = m_ui->setup(qmlSurface->engine());
if (! ret)
return false;
- qmlSurface->setContent(m_ui->createRootItem());
+ const auto rootItem = m_ui->createRootItem();
+ if (Q_UNLIKELY(!rootItem))
+ return false;
+ qmlSurface->setContent(rootItem);
return true;
}
@@ -393,7 +396,10 @@ bool CompositorVideo::commonGUICreate(QWindow* window, QQuickView* qmlView, Comp
ret = m_ui->setup(qmlView->engine());
if (! ret)
return false;
- qmlView->setContent(QUrl(), nullptr, m_ui->createRootItem());
+ const auto rootItem = m_ui->createRootItem();
+ if (Q_UNLIKELY(!rootItem))
+ return false;
+ qmlView->setContent(QUrl(), nullptr, rootItem);
return true;
}
=====================================
modules/gui/qt/maininterface/compositor_dummy.cpp
=====================================
@@ -63,10 +63,10 @@ bool CompositorDummy::makeMainInterface(MainCtx* mainCtx, std::function<void (QQ
if (!ui->setup(m_qmlWidget->engine()))
return false;
- m_qmlWidget->setContent(QUrl(), ui->getComponent(), ui->createRootItem());
-
- if (m_qmlWidget->status() != QQuickView::Ready)
+ const auto rootItem = ui->createRootItem();
+ if (!rootItem)
return false;
+ m_qmlWidget->setContent(QUrl(), nullptr, rootItem);
if (aboutToShowQuickWindowCallback)
aboutToShowQuickWindowCallback(m_qmlWidget.get());
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ada7d1c032fac94821b6a605f2c2191f8c68b379...e8f4a3d3ac7e94b95762e0bbc8b7010c06ad1d2b
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ada7d1c032fac94821b6a605f2c2191f8c68b379...e8f4a3d3ac7e94b95762e0bbc8b7010c06ad1d2b
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help
More information about the vlc-commits
mailing list