summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-04-27 01:29:04 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-04-27 20:18:18 +0300
commit96980e35ae64df51fa6830622e776506e9a4cf42 (patch)
tree71b736bd46f9d4d4def84cb8f76b05ea5d358ae5
parentde30b6127c8b4b6114006f401a77a150166d9d99 (diff)
qcam: Don't crash if camera can't be opened
If the camera specified on the command line can't be opened, the MainWindow constructor still proceeds to check the startStopAction_, which results in MainWindow::startCapture() being called and trying to use a null camera_ object. Fix this by returning from the constructor as soon as the error is detected. This also fixes a similar crash if the camera selection dialog box is closed without selecting a camera. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Umang Jain <email@uajain.com>
-rw-r--r--src/qcam/main_window.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp
index cf39ed7a..ed0cad41 100644
--- a/src/qcam/main_window.cpp
+++ b/src/qcam/main_window.cpp
@@ -70,8 +70,10 @@ MainWindow::MainWindow(CameraManager *cm, const OptionsParser::Options &options)
/* Open the camera and start capture. */
ret = openCamera();
- if (ret < 0)
+ if (ret < 0) {
quit();
+ return;
+ }
startStopAction_->setChecked(true);
}