fix nullptr exception on camera disconnect

This commit is contained in:
Jan Grewe 2024-03-04 16:54:33 +01:00
parent 7b1d79ad70
commit 203063d83d
2 changed files with 10 additions and 7 deletions

View File

@ -199,6 +199,6 @@ CameraPreview::~CameraPreview(){
delete camera;
camera = nullptr;
}
qDebug() << "preview: deleted camera";
qDebug() << "deleted camera";
}

View File

@ -582,14 +582,15 @@ void PylonRecorder::applyScaling(){
void PylonRecorder::quitApplication() {
qDebug() << "Quit Application!";
qDebug() << "QuitApplication: Quit Application!";
if (grabbing) {
std::cerr << "QuitApplication: Stop grabbing\n";
qDebug() << "QuitApplication: Stop grabbing";
stopRecording();
}
qDebug() << "QuitApplication done!";
this->close();
std::cerr << "QuitApplication: done,\n";
}
@ -606,12 +607,12 @@ void PylonRecorder::cameraConfiguration(){
}
void PylonRecorder::camerasetup() {
std::cerr << "camera settings accepted" << std::endl;
std::cerr << "camera settings accepted1" << std::endl;
std::cerr << d->result() << std::endl;
std::cerr << "camera settings accepted" << std::endl;
std::cerr << "camera settings accepted2" << std::endl;
CameraLayout l = d->layout();
std::cerr << l.rois.size() << l.devices.size() << std::endl;
std::cerr << "camera settings accepted" << std::endl;
std::cerr << "camera settings accepted3" << std::endl;
delete d;
}
@ -645,13 +646,15 @@ void PylonRecorder::connectCamera() {
void PylonRecorder::disconnectCamera() {
if (pyloncam->isOpen()) {
qDebug() << "disconnecting camera";
if (pyloncam != nullptr && pyloncam->isOpen()) {
pyloncam->closeCamera();
statusBar()->showMessage(tr("Camera closed!"));
cameraConnectedLabel->setText("not connected");
cameraConnectedLabel->setStyleSheet("QLabel { font-size: 10px;font-family: Arial;color: red;}");
updateActions();
}
qDebug() << "disconnecting cameras done";
}