Index: trunk/GnssCenter/map_stations/map_stations.cpp
===================================================================
--- trunk/GnssCenter/map_stations/map_stations.cpp	(revision 5429)
+++ trunk/GnssCenter/map_stations/map_stations.cpp	(revision 5430)
@@ -50,7 +50,12 @@
   QToolBar* toolBar = new QToolBar("t_map_stations_ToolBar");
   addToolBar(Qt::BottomToolBarArea, toolBar);
+
   QAction* actStartThrift = new QAction("Start Thrift", 0);
   toolBar->addAction(actStartThrift);
   connect(actStartThrift, SIGNAL(triggered()), this, SLOT(slotStartThrift()));
+
+  QAction* actStopThrift = new QAction("Stop Thrift", 0);
+  toolBar->addAction(actStopThrift);
+  connect(actStopThrift, SIGNAL(triggered()), this, SLOT(slotStopThrift()));
 
   // Thrift Client;
@@ -92,4 +97,13 @@
 // 
 /////////////////////////////////////////////////////////////////////////////
+void t_map_stations::slotStopThrift() {
+  if (_thriftClient && _thriftClient->isRunning()) {
+    _thriftClient->stopAndDestroy();
+    _thriftClient = 0;
+  }
+}
+
+// 
+/////////////////////////////////////////////////////////////////////////////
 void t_map_stations::putThriftResults(std::vector<t_thriftResult*>* results) {
   QMutexLocker locker(&_mutex);
@@ -118,4 +132,6 @@
   }
   // end test
-  QTimer::singleShot(1000, this, SLOT(slotPlotResults()));
+  if (_thriftClient) {
+    QTimer::singleShot(1000, this, SLOT(slotPlotResults()));
+  }
 }
Index: trunk/GnssCenter/map_stations/map_stations.h
===================================================================
--- trunk/GnssCenter/map_stations/map_stations.h	(revision 5429)
+++ trunk/GnssCenter/map_stations/map_stations.h	(revision 5430)
@@ -25,4 +25,5 @@
  private slots:
   void slotStartThrift();
+  void slotStopThrift();
   void slotPlotResults();
 
