From e8e80bfa8d6421057ad145f93659309586e1200f Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Tue, 9 Jul 2019 22:03:54 +0300 Subject: libcamera: camera: Don't move buffers away from request at completion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For a historical reason that isn't fully understood, the request completion handler in the Camera class moves all buffers away from the request's buffer map to a local variable before emitting the request completion signal. There's no reason to do so, and it makes it impossible for requests to access buffers in their destructor. Fix it. Signed-off-by: Laurent Pinchart Reviewed-by: Niklas Söderlund --- src/libcamera/camera.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/libcamera/camera.cpp') diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp index 592dfd39..094f1b63 100644 --- a/src/libcamera/camera.cpp +++ b/src/libcamera/camera.cpp @@ -894,8 +894,7 @@ int Camera::stop() */ void Camera::requestComplete(Request *request) { - std::map buffers(std::move(request->bufferMap_)); - requestCompleted.emit(request, buffers); + requestCompleted.emit(request, request->bufferMap_); delete request; } -- cgit v1.2.1