[PATCH v1] apps: cam: Fix C++20 deprecation warning
Barnabás Pőcze
pobrn at protonmail.com
Fri May 3 01:40:42 CEST 2024
Hi
2024. május 3., péntek 1:13 keltezéssel, Laurent Pinchart <laurent.pinchart at ideasonboard.com> írta:
> Hi Barnabás,
>
> Thank you for the patch.
>
> On Tue, Apr 30, 2024 at 07:26:21PM +0000, Barnabás Pőcze wrote:
> > C++20 deprecated implicit capture of `this` via `[=]`.
> > Fix that by explicitly capturing the necessary variables.
> >
> > Signed-off-by: Barnabás Pőcze <pobrn at protonmail.com>
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>
> It would be nice if there was a way to enable this warning even with
> C++17, but it's covered by -Wdeprecated :-S
In the CI one could do builds with `meson setup ... -D cpp_std=c++20`.
It almost builds, there is one other issue still:
/libcamera/src/apps/qcam/main_window.cpp:193:38: error: bitwise operation between different enumeration types ‘Qt::Modifier’ and ‘Qt::Key’ is deprecated [-Werror=deprecated-enum-enum-conversion]
193 | action->setShortcut(Qt::CTRL | Qt::Key_Q);
| ~~~~~~~~~^~~~~~~~~~~
>
> > ---
> > src/apps/cam/camera_session.cpp | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/src/apps/cam/camera_session.cpp b/src/apps/cam/camera_session.cpp
> > index 334d2ed8..d1f65a99 100644
> > --- a/src/apps/cam/camera_session.cpp
> > +++ b/src/apps/cam/camera_session.cpp
> > @@ -382,7 +382,7 @@ void CameraSession::requestComplete(Request *request)
> > * Defer processing of the completed request to the event loop, to avoid
> > * blocking the camera manager thread.
> > */
> > - EventLoop::instance()->callLater([=]() { processRequest(request); });
> > + EventLoop::instance()->callLater([this, request]() { processRequest(request); });
> > }
> >
> > void CameraSession::processRequest(Request *request)
>
> --
> Regards,
>
> Laurent Pinchart
>
Regards,
Barnabás Pőcze
More information about the libcamera-devel
mailing list