Index: trunk/BNC/src/PPP/pppThread.cpp
===================================================================
--- trunk/BNC/src/PPP/pppThread.cpp	(revision 5927)
+++ trunk/BNC/src/PPP/pppThread.cpp	(revision 5930)
@@ -61,4 +61,6 @@
   _pppRun    = 0;
 
+  connect(this, SIGNAL(finished()), this, SLOT(deleteLater()));
+
   connect(this, SIGNAL(newMessage(QByteArray,bool)), 
           BNC_CORE, SLOT(slotMessage(const QByteArray,bool)));
@@ -77,5 +79,4 @@
   try {
     _pppRun = new t_pppRun(_opt);
-    connect(_pppRun, SIGNAL(finished()), this, SLOT(slotPPPfinished()));
     if (_opt->_realTime) {
       if (_ownThread) {
@@ -88,12 +89,7 @@
   }
   catch (t_except exc) {
-    delete _pppRun; _pppRun = 0;
+    _pppRun = 0;
     emit newMessage(QByteArray(exc.what().c_str()), true);
   }
 }
 
-// Run (virtual)
-////////////////////////////////////////////////////////////////////////////
-void t_pppThread::slotPPPfinished() {
-  delete _pppRun; _pppRun = 0;
-}
Index: trunk/BNC/src/PPP/pppThread.h
===================================================================
--- trunk/BNC/src/PPP/pppThread.h	(revision 5927)
+++ trunk/BNC/src/PPP/pppThread.h	(revision 5930)
@@ -23,8 +23,4 @@
  signals:
   void newMessage(QByteArray msg, bool showOnScreen);
-  void pppFinished();
-
- private slots:
-  void slotPPPfinished();
 
  private:
