From 5a9fd9a95cce4ab17c9cf5d9e0c33a008255bedb Mon Sep 17 00:00:00 2001 From: Utkarsh Tiwari Date: Wed, 7 Sep 2022 22:05:04 +0530 Subject: 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 Reviewed-by: Laurent Pinchart Tested-by: Kieran Bingham Reviewed-by: Kieran Bingham Reviewed-by: Paul Elder Signed-off-by: Laurent Pinchart --- src/qcam/main_window.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/qcam/main_window.cpp') 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); -- cgit v1.2.1