diff --git a/native/android/surface_control.cpp b/native/android/surface_control.cpp index 7f74dd4c33c31..ceba4d60bed0e 100644 --- a/native/android/surface_control.cpp +++ b/native/android/surface_control.cpp @@ -366,11 +366,11 @@ void ASurfaceTransaction_setBuffer(ASurfaceTransaction* aSurfaceTransaction, sp graphic_buffer(reinterpret_cast(buffer)); - transaction->setBuffer(surfaceControl, graphic_buffer); + std::optional> fence = std::nullopt; if (acquire_fence_fd != -1) { - sp fence = new Fence(acquire_fence_fd); - transaction->setAcquireFence(surfaceControl, fence); + fence = new Fence(acquire_fence_fd); } + transaction->setBuffer(surfaceControl, graphic_buffer, fence); } void ASurfaceTransaction_setGeometry(ASurfaceTransaction* aSurfaceTransaction,