diff options
| author | David Edmundson <kde@davidedmundson.co.uk> | 2023-03-31 10:15:08 +0100 |
|---|---|---|
| committer | David Edmundson <davidedmundson@kde.org> | 2023-06-01 14:13:12 +0000 |
| commit | 4cfd0da3d914822c76824d0bde4953b40794cb2a (patch) | |
| tree | a176ef2f5eb410ef15fd1b222358424904726d99 /src/plugins/platforms/wayland/qwaylandvulkaninstance.cpp | |
| parent | 5043973b14e9cc77bd8f4a199c25f36c5f951b8e (diff) | |
Client: Guard our surface from being destroyed whilst rendering from Vulkan
Change-Id: Ibac173b769186b49251bad9b94c71b9ccea26a7e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandvulkaninstance.cpp')
| -rw-r--r-- | src/plugins/platforms/wayland/qwaylandvulkaninstance.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/plugins/platforms/wayland/qwaylandvulkaninstance.cpp b/src/plugins/platforms/wayland/qwaylandvulkaninstance.cpp index 2f95ff3077a..be55130a422 100644 --- a/src/plugins/platforms/wayland/qwaylandvulkaninstance.cpp +++ b/src/plugins/platforms/wayland/qwaylandvulkaninstance.cpp @@ -101,6 +101,26 @@ void QWaylandVulkanInstance::presentAboutToBeQueued(QWindow *window) w->handleUpdate(); } +void QWaylandVulkanInstance::beginFrame(QWindow *window) +{ + auto *w = static_cast<QWaylandWindow *>(window->handle()); + if (!w) { + qWarning() << "Attempted to call beginFrame() without a valid platform window"; + return; + } + w->beginFrame(); +} + +void QWaylandVulkanInstance::endFrame(QWindow *window) +{ + auto *w = static_cast<QWaylandWindow *>(window->handle()); + if (!w) { + qWarning() << "Attempted to call endFrame() without a valid platform window"; + return; + } + w->endFrame(); +} + } // namespace QtWaylandClient QT_END_NAMESPACE |
