Index: trunk/BNC/src/PPP/pppThread.cpp
===================================================================
--- trunk/BNC/src/PPP/pppThread.cpp	(revision 5902)
+++ trunk/BNC/src/PPP/pppThread.cpp	(revision 5903)
@@ -68,4 +68,5 @@
 ////////////////////////////////////////////////////////////////////////////
 t_pppThread::~t_pppThread() {
+  cout << "~t_pppThread" << endl;
   delete _pppRun;
 }
Index: trunk/BNC/src/bnccore.cpp
===================================================================
--- trunk/BNC/src/bnccore.cpp	(revision 5902)
+++ trunk/BNC/src/bnccore.cpp	(revision 5903)
@@ -879,4 +879,4 @@
 ////////////////////////////////////////////////////////////////////////////
 void t_bncCore::stopPPP() {
-  emit quitPPP();
-}
+  _pppMain->stop();
+}
Index: trunk/BNC/src/bnccore.h
===================================================================
--- trunk/BNC/src/bnccore.h	(revision 5902)
+++ trunk/BNC/src/bnccore.h	(revision 5903)
@@ -92,5 +92,4 @@
   void providerIDChanged(QString);
   void newPosition(bncTime time, QVector<double> xx);
-  void quitPPP();
     
  private slots:
Index: trunk/BNC/src/bncgetthread.cpp
===================================================================
--- trunk/BNC/src/bncgetthread.cpp	(revision 5902)
+++ trunk/BNC/src/bncgetthread.cpp	(revision 5903)
@@ -410,11 +410,11 @@
         _staID  = _rawFile->staID();
 
+        QCoreApplication::processEvents();
+
         if (data.isEmpty()) {
           cout << "no more data" << endl;
           BNC_CORE->stopCombination();
           BNC_CORE->stopPPP();
-          emit finished();
-          this->deleteLater();
-          return;
+          ::exit(0);
         }
       }
