Message ID | 20210827023829.5871-2-laurent.pinchart@ideasonboard.com |
---|---|
State | Accepted |
Commit | eb5c4ead8842ff91b7b32b25f78531e79c17e1b3 |
Headers | show |
Series |
|
Related | show |
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@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@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(); >
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();
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. Signed-off-by: Laurent Pinchart <laurent.pinchart@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(-)