[libcamera-devel] [PATCH] libamera: pipeline: rkisp1: timeline: Fix compilation with gcc-[56]
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Oct 11 16:30:27 CEST 2019
With gcc 5 and 6, insertion in a std::multimap copies the pair passed as
an argument to the insert() method. As the mapped type is a non-copyable
std::unique_ptr<>, this fails to compile.
Compilation with newer gcc versions succeed due to support for C++-17
and the fix described in https://cplusplus.github.io/LWG/issue2354. To
support gcc 5 and 6, fix the issue by using std::multimap::emplace().
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
src/libcamera/pipeline/rkisp1/timeline.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libcamera/pipeline/rkisp1/timeline.cpp b/src/libcamera/pipeline/rkisp1/timeline.cpp
index b98a16689fa9..f6c6434d7b53 100644
--- a/src/libcamera/pipeline/rkisp1/timeline.cpp
+++ b/src/libcamera/pipeline/rkisp1/timeline.cpp
@@ -123,7 +123,7 @@ void Timeline::scheduleAction(std::unique_ptr<FrameAction> action)
<< ", run now " << utils::time_point_to_string(now);
action->run();
} else {
- actions_.insert({ deadline, std::move(action) });
+ actions_.emplace(deadline, std::move(action));
updateDeadline();
}
}
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list