diff options
author | Doris Verria <doris.verria@qt.io> | 2024-01-16 16:59:55 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-01-17 12:38:38 +0000 |
commit | 2acdb75acbb1fb521859b4e859404bc9f716bc9e (patch) | |
tree | 118200a0597d2fd2513857e2a222f37f57306261 /src | |
parent | 4ee2444b77fc8a000b21b106bc8f1b0ba706b14d (diff) |
QVideoWindow: Recreate swapchain if it was previously destroyed
We release and destroy the swapChain on a PlatformSurface event. If
the window is render()-ed again after this, we need to recreate the
swapChain using QRhiSwapChain::createOrResize().
Fixes: QTBUG-113498
Pick-to: 6.6 6.5
Change-Id: Ibc8b369c41b9e2e49be4465d6e50e3a5a366e434
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 0fecc9e95244745c88b82964ecda65bbaa53a575)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/multimedia/video/qvideowindow.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/multimedia/video/qvideowindow.cpp b/src/multimedia/video/qvideowindow.cpp index 1c1009662..c5afdaa7d 100644 --- a/src/multimedia/video/qvideowindow.cpp +++ b/src/multimedia/video/qvideowindow.cpp @@ -341,7 +341,7 @@ void QVideoWindowPrivate::render() videoRect.moveCenter(rect.center()); QRect subtitleRect = videoRect.intersected(rect); - if (m_swapChain->currentPixelSize() != m_swapChain->surfacePixelSize()) + if (!m_hasSwapChain || (m_swapChain->currentPixelSize() != m_swapChain->surfacePixelSize())) resizeSwapChain(); if (!m_hasSwapChain) |