From 9aaeb93b132207f476634b9bd9b38639f3230f1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A9d=C3=A9ric=20Fourmy?= <mfourmy@laas.fr>
Date: Tue, 9 Jun 2020 14:02:39 +0200
Subject: [PATCH] Spliting switch to call integrateOneStep at the right time

---
 src/processor/processor_motion.cpp | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/processor/processor_motion.cpp b/src/processor/processor_motion.cpp
index 5cb8b4290..366d9e4aa 100644
--- a/src/processor/processor_motion.cpp
+++ b/src/processor/processor_motion.cpp
@@ -96,15 +96,6 @@ void ProcessorMotion::processCapture(CaptureBasePtr _incoming_ptr)
 
     preProcess(); // Derived class operations
 
-    // integrate data
-    if (last_ptr_ != nullptr)
-    {
-        integrateOneStep();
-    }
-    else {
-        last_nullptr_ = true;
-    }
-
     PackKeyFramePtr pack = computeProcessingStep();
     if (pack)
         buffer_pack_kf_.removeUpTo( pack->key_frame->getTimeStamp() );
@@ -139,6 +130,18 @@ void ProcessorMotion::processCapture(CaptureBasePtr _incoming_ptr)
         case RUNNING_WITH_KF_ON_ORIGIN :
             break;
 
+        default :
+            break;
+    }
+
+
+    // integrate data
+    // Done at this place because setPrior() needs 
+    integrateOneStep();
+
+
+    switch(processing_step_)
+    {
         case RUNNING_WITH_KF_BEFORE_ORIGIN :
         {
 
-- 
GitLab