Index: trunk/BNC/combination/bnccomb.cpp
===================================================================
--- trunk/BNC/combination/bnccomb.cpp	(revision 3555)
+++ trunk/BNC/combination/bnccomb.cpp	(revision 3556)
@@ -257,7 +257,8 @@
     delete _params[iPar-1];
   }
-  QListIterator<unsigned long> itTime(_buffer.keys());
+  QListIterator<bncTime> itTime(_buffer.keys());
   while (itTime.hasNext()) {
-    _buffer.remove(itTime.next());
+    bncTime epoTime = itTime.next();
+    _buffer.remove(epoTime);
   }
 }
@@ -339,9 +340,9 @@
   // Process previous Epoch(s)
   // -------------------------
-  QListIterator<unsigned long> itTime(_buffer.keys());
+  QListIterator<bncTime> itTime(_buffer.keys());
   while (itTime.hasNext()) {
-    unsigned long epoTime = itTime.next();
-    if (epoTime < (newCorr->tt - moduloTime).longSec()) {
-      _resTime = _buffer[epoTime].tt();
+    bncTime epoTime = itTime.next();
+    if (epoTime < newCorr->tt - moduloTime) {
+      _resTime = epoTime;
       processEpoch();
     }
@@ -350,5 +351,5 @@
   // Merge or add the correction
   // ---------------------------
-  QVector<cmbCorr*>& corrs = _buffer[newCorr->tt.longSec()].corrs;
+  QVector<cmbCorr*>& corrs = _buffer[newCorr->tt].corrs;
   cmbCorr* existingCorr = 0;
   QVectorIterator<cmbCorr*> itCorr(corrs);
@@ -366,14 +367,4 @@
   else {
     corrs.append(newCorr);
-  }
-
-  if (_resTime.valid()) {
-    QListIterator<unsigned long> it(_buffer.keys());
-    while (it.hasNext()) {
-      unsigned long epoTime = it.next();
-      if (epoTime <= _resTime.longSec()) {
-        _buffer.remove(epoTime);
-      }
-    }
   }
 }
@@ -460,5 +451,5 @@
     if (_masterMissingEpochs < 10) {
       out << "Missing Master, Epoch skipped" << endl;
-      _buffer.remove(_resTime.longSec());
+      _buffer.remove(_resTime);
       emit newMessage(_log, false);
       return;
@@ -521,5 +512,5 @@
   // Delete Data, emit Message
   // -------------------------
-  _buffer.remove(_resTime.longSec());
+  _buffer.remove(_resTime);
   emit newMessage(_log, false);
 }
@@ -885,4 +876,5 @@
       }
       if (!foundMaster) {
+        delete corr;
         it.remove();
       }
@@ -983,4 +975,5 @@
     if (maxRes > _MAXRES) {
       out << "  Outlier" << endl;
+      delete corrs()[maxResIndex-1];
       corrs().remove(maxResIndex-1);
     }
@@ -1020,8 +1013,10 @@
     if      (_eph.find(prn) == _eph.end()) {
       out << "checkOrbit: missing eph (not found) " << corr->prn << endl;
+      delete corr;
       im.remove();
     }
     else if (corr->eph == 0) {
       out << "checkOrbit: missing eph (zero) " << corr->prn << endl;
+      delete corr;
       im.remove();
     }
@@ -1032,4 +1027,5 @@
       else {
         out << "checkOrbit: missing eph (deleted) " << corr->prn << endl;
+        delete corr;
         im.remove();
       }
@@ -1096,4 +1092,5 @@
       QString  prn  = corr->prn;
       if      (numCorr[prn] < 2) {
+        delete corr;
         im.remove();
       }
@@ -1108,4 +1105,5 @@
               << corr->iod                     << " " 
               << norm                          << endl;
+          delete corr;
           im.remove();
           removed = true;
Index: trunk/BNC/combination/bnccomb.h
===================================================================
--- trunk/BNC/combination/bnccomb.h	(revision 3555)
+++ trunk/BNC/combination/bnccomb.h	(revision 3556)
@@ -73,12 +73,4 @@
       }
     }
-    bncTime tt() const {
-      if (corrs.size() > 0) {
-        return corrs[0]->tt;
-      }
-      else {
-        return bncTime();
-      }
-    }
     QVector<cmbCorr*> corrs;
   };
@@ -98,10 +90,10 @@
   t_irc checkOrbits(QTextStream& out);
 
-  QVector<cmbCorr*>& corrs() {return _buffer[_resTime.longSec()].corrs;}
+  QVector<cmbCorr*>& corrs() {return _buffer[_resTime].corrs;}
 
   QList<cmbAC*>           _ACs;
   bncTime                 _resTime;
   QVector<cmbParam*>      _params;
-  QMap<unsigned long, cmbEpoch> _buffer;
+  QMap<bncTime, cmbEpoch> _buffer;
   bncRtnetDecoder*        _rtnetDecoder;
   SymmetricMatrix         _QQ;
