diff options
Diffstat (limited to 'src/helpers/Monitor.cpp')
| -rw-r--r-- | src/helpers/Monitor.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index 7e75b02b..b57bb227 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -1554,7 +1554,10 @@ bool CMonitor::attemptDirectScanout() { // lock buffer while DRM/KMS is using it, then release it when page flip happens since DRM/KMS should be done by then // btw buffer's syncReleaser will take care of signaling release point, so we don't do that here PBUFFER->lock(); - PBUFFER->onBackendRelease([PBUFFER]() { PBUFFER->unlock(); }); + PBUFFER->onBackendRelease([wb = WP<IHLBuffer>{PBUFFER}] { + if (wb) + wb->unlock(); + }); return true; } |
