diff options
author | Utkarsh Tiwari <utkarsh02t@gmail.com> | 2022-09-07 22:05:04 +0530 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-09-08 11:20:53 +0300 |
commit | 5a9fd9a95cce4ab17c9cf5d9e0c33a008255bedb (patch) | |
tree | 51447c2c556a544574cd2767b894a5a4386f0375 /src/qcam | |
parent | 6225d647b47982833fa654bf9cf65eb8c04d2036 (diff) |
qcam: Fix crash when switching from non existant camera
When switching to different camera we try to release the camera
previously used. But if that camera has been unplugged, then its
instance would have been destroyed. Accessing it leads to seg fault.
Fix by checking camera_ to see if it exists.
Bug: https://bugs.libcamera.org/show_bug.cgi?id=147
Signed-off-by: Utkarsh Tiwari <utkarsh02t@gmail.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/qcam')
-rw-r--r-- | src/qcam/main_window.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp index 6fe36168..e0e5092e 100644 --- a/src/qcam/main_window.cpp +++ b/src/qcam/main_window.cpp @@ -284,7 +284,9 @@ void MainWindow::switchCamera() */ startStopAction_->setChecked(false); - camera_->release(); + if (camera_) + camera_->release(); + camera_ = cam; startStopAction_->setChecked(true); |