[libcamera-devel] [PATCH v1 1/6] libcamera: Use simpler Signal::disconnect() function
Umang Jain
umang.jain at ideasonboard.com
Mon Aug 30 13:30:23 CEST 2021
Hi Laurent,
On 8/27/21 8:08 AM, Laurent Pinchart wrote:
> When disconnecting a signal from a receiver, it is usually not necessary
> to specify the receiver's slot function explicitly, as the signal is
> often connected to a single slot for a given receiver. We can thus use a
> simpler version of Signal::disconnect() that takes a pointer to the
> receiver object only. This reduces code size, as the disconnect()
> function is a template function.
Ah, interesting, I was ignorant about this particular existence of
disconnect()
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>
> ---
> src/lc-compliance/simple_capture.cpp | 2 +-
> src/libcamera/camera_manager.cpp | 2 +-
> src/qcam/main_window.cpp | 4 ++--
> test/camera/camera_reconfigure.cpp | 2 +-
> 4 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/src/lc-compliance/simple_capture.cpp b/src/lc-compliance/simple_capture.cpp
> index 25097f28a603..ab5cb35c11f2 100644
> --- a/src/lc-compliance/simple_capture.cpp
> +++ b/src/lc-compliance/simple_capture.cpp
> @@ -62,7 +62,7 @@ void SimpleCapture::stop()
>
> camera_->stop();
>
> - camera_->requestCompleted.disconnect(this, &SimpleCapture::requestComplete);
> + camera_->requestCompleted.disconnect(this);
>
> Stream *stream = config_->at(0).stream();
> allocator_->free(stream);
> diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp
> index fe80a46f5d20..08457030b6f7 100644
> --- a/src/libcamera/camera_manager.cpp
> +++ b/src/libcamera/camera_manager.cpp
> @@ -170,7 +170,7 @@ void CameraManager::Private::createPipelineHandlers()
>
> void CameraManager::Private::cleanup()
> {
> - enumerator_->devicesAdded.disconnect(this, &Private::createPipelineHandlers);
> + enumerator_->devicesAdded.disconnect(this);
>
> /*
> * Release all references to cameras to ensure they all get destroyed
> diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp
> index 1adaae60d83b..dea81bb43774 100644
> --- a/src/qcam/main_window.cpp
> +++ b/src/qcam/main_window.cpp
> @@ -531,7 +531,7 @@ int MainWindow::startCapture()
> return 0;
>
> error_disconnect:
> - camera_->requestCompleted.disconnect(this, &MainWindow::requestComplete);
> + camera_->requestCompleted.disconnect(this);
> camera_->stop();
>
> error:
> @@ -571,7 +571,7 @@ void MainWindow::stopCapture()
> if (ret)
> qInfo() << "Failed to stop capture";
>
> - camera_->requestCompleted.disconnect(this, &MainWindow::requestComplete);
> + camera_->requestCompleted.disconnect(this);
>
> for (auto &iter : mappedBuffers_) {
> const Span<uint8_t> &buffer = iter.second;
> diff --git a/test/camera/camera_reconfigure.cpp b/test/camera/camera_reconfigure.cpp
> index 5adef16e1c9e..48d61c00709c 100644
> --- a/test/camera/camera_reconfigure.cpp
> +++ b/test/camera/camera_reconfigure.cpp
> @@ -130,7 +130,7 @@ private:
> return TestFail;
> }
>
> - camera_->requestCompleted.disconnect(this, &CameraReconfigure::requestComplete);
> + camera_->requestCompleted.disconnect(this);
>
> requests_.clear();
>
More information about the libcamera-devel
mailing list