diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-04-27 01:29:04 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-04-27 20:18:18 +0300 |
commit | 96980e35ae64df51fa6830622e776506e9a4cf42 (patch) | |
tree | 71b736bd46f9d4d4def84cb8f76b05ea5d358ae5 | |
parent | de30b6127c8b4b6114006f401a77a150166d9d99 (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.cpp | 4 |
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); } |