diff --git a/frameworks/wms/lite_proxy_surface.cpp b/frameworks/wms/lite_proxy_surface.cpp index 7b26da821c176ac604b225824b9712b8de60b24e..e75dbfd929d2979b8a0891512af78986a9b0b1b0 100644 --- a/frameworks/wms/lite_proxy_surface.cpp +++ b/frameworks/wms/lite_proxy_surface.cpp @@ -57,7 +57,10 @@ void LiteProxySurface::Unlock() } GRAPHIC_LOGI("Unlock"); - surface_->FlushBuffer(buffer_); + int32_t ret = surface_->FlushBuffer(buffer_); + if (ret != 0) { + surface_->CancelBuffer(buffer_); + } buffer_ = nullptr; } } \ No newline at end of file