diff --git a/launch/rgbd_mapping.launch b/launch/rgbd_mapping.launch
index 98022b62..2b0a43fc 100644
--- a/launch/rgbd_mapping.launch
+++ b/launch/rgbd_mapping.launch
@@ -39,7 +39,7 @@
-
+
diff --git a/launch/rtabmap.launch b/launch/rtabmap.launch
index e972a1db..7fab41d8 100644
--- a/launch/rtabmap.launch
+++ b/launch/rtabmap.launch
@@ -31,7 +31,7 @@
-
+
diff --git a/launch/stereo_mapping.launch b/launch/stereo_mapping.launch
index d55b810e..f5d8ad5a 100644
--- a/launch/stereo_mapping.launch
+++ b/launch/stereo_mapping.launch
@@ -42,7 +42,7 @@
-
+
diff --git a/src/CoreWrapper.cpp b/src/CoreWrapper.cpp
index f98a6e3c..03ac463a 100644
--- a/src/CoreWrapper.cpp
+++ b/src/CoreWrapper.cpp
@@ -85,7 +85,7 @@ CoreWrapper::CoreWrapper(bool deleteDbOnStart, const ParametersMap & parameters)
configPath_(""),
databasePath_(UDirectory::homeDir()+"/.ros/"+rtabmap::Parameters::getDefaultDatabaseName()),
waitForTransform_(true),
- waitForTransformDuration_(0.1), // 100 ms
+ waitForTransformDuration_(0.2), // 200 ms
useActionForGoal_(false),
genScan_(false),
genScanMaxDepth_(4.0),
diff --git a/src/GuiNode.cpp b/src/GuiNode.cpp
index 8e94f874..c506e314 100644
--- a/src/GuiNode.cpp
+++ b/src/GuiNode.cpp
@@ -34,13 +34,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include
QApplication * app = 0;
+ros::AsyncSpinner * spinner = 0;
void my_handler(int s){
ROS_INFO("rtabmapviz: ctrl-c catched! Exiting Qt app...");
- if(app)
- {
- QMetaObject::invokeMethod(app, "quit");
- }
+ spinner->stop();
+ exit(-1);
}
int main(int argc, char** argv)
@@ -55,7 +54,7 @@ int main(int argc, char** argv)
app = new QApplication(argc, argv);
app->connect( app, SIGNAL( lastWindowClosed() ), app, SLOT( quit() ) );
- GuiWrapper gui(argc, argv);
+ GuiWrapper * gui = new GuiWrapper(argc, argv);
// Catch ctrl-c to close the gui
// (Place this after QApplication's constructor)
@@ -66,15 +65,17 @@ int main(int argc, char** argv)
sigaction(SIGINT, &sigIntHandler, NULL);
// Here start the ROS events loop
- ros::AsyncSpinner spinner(4); // Use 4 threads
- spinner.start();
+ spinner = new ros::AsyncSpinner(1); // Use 1 thread
+ spinner->start();
ROS_INFO("rtabmapviz started.");
// Now wait for application to finish
int r = app->exec();// MUST be called by the Main Thread
- spinner.stop();
+ spinner->stop();
+ delete spinner;
+ delete gui;
delete app;
ROS_INFO("rtabmapviz: All done! Closing...");
return r;
diff --git a/src/GuiWrapper.cpp b/src/GuiWrapper.cpp
index 87c408b5..eeee9034 100644
--- a/src/GuiWrapper.cpp
+++ b/src/GuiWrapper.cpp
@@ -71,7 +71,7 @@ GuiWrapper::GuiWrapper(int & argc, char** argv) :
mainWindow_(0),
frameId_("base_link"),
waitForTransform_(true),
- waitForTransformDuration_(0.1), // 100 ms
+ waitForTransformDuration_(0.2), // 200 ms
cameraNodeName_(""),
lastOdomInfoUpdateTime_(0),
depthScanSync_(0),
@@ -211,6 +211,7 @@ GuiWrapper::GuiWrapper(int & argc, char** argv) :
GuiWrapper::~GuiWrapper()
{
+ UDEBUG("");
if(depthSync_)
delete depthSync_;
if(depth2Sync_)