fixed update() slot called more than one time with a single camera emit (when start/pause/start/...etc , multiple connections were added... solved by adding Qt::UniqueConnection)

git-svn-id: http://find-object.googlecode.com/svn/trunk/find_object@353 620bd6b2-0a58-f614-fd9a-1bd335dccda9
This commit is contained in:
matlabbe 2014-07-24 13:02:31 +00:00
parent 30d20e646b
commit e8f0016a55

View File

@ -487,7 +487,7 @@ void MainWindow::addObjectFromScene()
} }
else else
{ {
connect(camera_, SIGNAL(imageReceived(const cv::Mat &)), this, SLOT(update(const cv::Mat &))); connect(camera_, SIGNAL(imageReceived(const cv::Mat &)), this, SLOT(update(const cv::Mat &)), Qt::UniqueConnection);
this->update(ui_->imageView_source->cvImage()); this->update(ui_->imageView_source->cvImage());
} }
delete dialog; delete dialog;
@ -1003,7 +1003,7 @@ void MainWindow::startProcessing()
} }
if(camera_->start()) if(camera_->start())
{ {
connect(camera_, SIGNAL(imageReceived(const cv::Mat &)), this, SLOT(update(const cv::Mat &))); connect(camera_, SIGNAL(imageReceived(const cv::Mat &)), this, SLOT(update(const cv::Mat &)), Qt::UniqueConnection);
ui_->actionStop_camera->setEnabled(true); ui_->actionStop_camera->setEnabled(true);
ui_->actionPause_camera->setEnabled(true); ui_->actionPause_camera->setEnabled(true);
ui_->actionStart_camera->setEnabled(false); ui_->actionStart_camera->setEnabled(false);