diff --git a/corelib/src/Odometry.cpp b/corelib/src/Odometry.cpp index 0f61eab3..087d6c62 100644 --- a/corelib/src/Odometry.cpp +++ b/corelib/src/Odometry.cpp @@ -722,7 +722,7 @@ void OdometryThread::getImage(Image & image) if(!_imageBuffer.empty()) { image = _imageBuffer; - _imageBuffer = cv::Mat(); + _imageBuffer = Image(); } } _imageMutex.unlock(); diff --git a/guilib/src/MainWindow.cpp b/guilib/src/MainWindow.cpp index cfda2823..30d7cee7 100644 --- a/guilib/src/MainWindow.cpp +++ b/guilib/src/MainWindow.cpp @@ -1512,7 +1512,10 @@ void MainWindow::applyPrefSettings(PreferencesDialog::PANEL_FLAGS flags) if(flags & PreferencesDialog::kPanelCloudRendering) { UDEBUG("Cloud rendering settings changed..."); - this->updateMapCloud(_currentPosesMap, Transform()); + if(_currentPosesMap.size()) + { + this->updateMapCloud(_currentPosesMap, Transform()); + } } if(flags & PreferencesDialog::kPanelLogging) diff --git a/guilib/src/OdometryViewer.cpp b/guilib/src/OdometryViewer.cpp index f4c6873c..8e95fce9 100644 --- a/guilib/src/OdometryViewer.cpp +++ b/guilib/src/OdometryViewer.cpp @@ -83,7 +83,7 @@ void OdometryViewer::processData() clouds_.insert(std::make_pair(id_, cloud)); - if((int)clouds_.size() > maxClouds_) + while(maxClouds_>0 && (int)clouds_.size() > maxClouds_) { this->removeCloud(uFormat("cloud%d", clouds_.begin()->first)); clouds_.erase(clouds_.begin()); @@ -163,7 +163,7 @@ void OdometryViewer::handleAction(QAction * a) else if(a == _aSetDecimation) { bool ok; - int value = QInputDialog::getInt(this, tr("Set depth image decimation"), tr("Decimation (0=infinite)"), decimation_, 1, 8, 1, &ok); + int value = QInputDialog::getInt(this, tr("Set depth image decimation"), tr("Decimation"), decimation_, 1, 8, 1, &ok); if(ok) { decimation_ = value;