Index: trunk/GnssCenter/map_stations/map_stations.cpp
===================================================================
--- trunk/GnssCenter/map_stations/map_stations.cpp	(revision 5413)
+++ trunk/GnssCenter/map_stations/map_stations.cpp	(revision 5414)
@@ -107,4 +107,5 @@
   delete _mapPlot;
   delete _buttonWhatsThis;
+  _thriftClient->stop();
 }
 
Index: trunk/GnssCenter/map_stations/thriftclient.cpp
===================================================================
--- trunk/GnssCenter/map_stations/thriftclient.cpp	(revision 5413)
+++ trunk/GnssCenter/map_stations/thriftclient.cpp	(revision 5414)
@@ -17,5 +17,5 @@
 //////////////////////////////////////////////////////////////////////////////
 t_thriftClient::t_thriftClient() {
-
+  _stop = false;
 }
 
@@ -23,5 +23,4 @@
 //////////////////////////////////////////////////////////////////////////////
 t_thriftClient::~t_thriftClient() {
-
 }
 
@@ -41,5 +40,5 @@
   try {
     transport->open();
-    while (processor->process(protocol,protocol,0)) {}
+    while (!_stop && processor->process(protocol,protocol,0)) {}
     transport->close();
   } 
@@ -50,4 +49,6 @@
     cerr << "Unknown exception" << endl;
   }
+  this->terminate();
+  this->deleteLater();
 }
 
Index: trunk/GnssCenter/map_stations/thriftclient.h
===================================================================
--- trunk/GnssCenter/map_stations/thriftclient.h	(revision 5413)
+++ trunk/GnssCenter/map_stations/thriftclient.h	(revision 5414)
@@ -21,4 +21,5 @@
   ~t_thriftClient();
   virtual void run();
+  void stop() {_stop = true;}
 
   void startDataStream() {}
@@ -43,4 +44,5 @@
 
   std::map<std::string, t_stationCrd> _stationCrd;
+  bool _stop;
 };
 
