Index: /trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp
===================================================================
--- /trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp	(revision 7640)
+++ /trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp	(revision 7641)
@@ -102,7 +102,14 @@
 RTCM3coDecoder::~RTCM3coDecoder() {
   delete _out;
+  _IODs.clear();
+  _orbCorrections.clear();
+  _clkCorrections.clear();
+  _lastClkCorrections.clear();
+  _codeBiases.clear();
+  _phaseBiases.clear();
+  _vTecMap.clear();
 }
 
-// 
+//
 ////////////////////////////////////////////////////////////////////////////
 void RTCM3coDecoder::reset() {
@@ -169,5 +176,5 @@
 
     int bytesused = 0;
-    GCOB_RETURN irc = GetSSR(&_clkOrb, &_codeBias, &_vTEC, &_phaseBias, 
+    GCOB_RETURN irc = GetSSR(&_clkOrb, &_codeBias, &_vTEC, &_phaseBias,
                              _buffer.data(), _buffer.size(), &bytesused);
 
@@ -191,6 +198,6 @@
 
         setEpochTime(); // sets _lastTime
- 
-        if (_lastTime.valid()) { 
+
+        if (_lastTime.valid()) {
           reopen();
           checkProviderID();
@@ -486,5 +493,5 @@
       t_orbCorr::writeEpoch(_out, itOrb.value());
       itOrb.remove();
-    } 
+    }
   }
   QMutableMapIterator<bncTime, QList<t_clkCorr> > itClk(_clkCorrections);
@@ -495,5 +502,5 @@
       t_clkCorr::writeEpoch(_out, itClk.value());
       itClk.remove();
-    } 
+    }
   }
   QMutableMapIterator<bncTime, QList<t_satCodeBias> > itCB(_codeBiases);
@@ -504,5 +511,5 @@
       t_satCodeBias::writeEpoch(_out, itCB.value());
       itCB.remove();
-    } 
+    }
   }
   QMutableMapIterator<bncTime, QList<t_satPhaseBias> > itPB(_phaseBiases);
@@ -513,5 +520,5 @@
       t_satPhaseBias::writeEpoch(_out, itPB.value());
       itPB.remove();
-    } 
+    }
   }
   QMutableMapIterator<bncTime, t_vTec> itTec(_vTecMap);
@@ -522,5 +529,5 @@
       t_vTec::write(_out, itTec.value());
       itTec.remove();
-    } 
+    }
   }
 }
@@ -574,11 +581,11 @@
   }
   else if (_codeBias.NumberOfSat[CLOCKORBIT_SATGPS] > 0) {
-    epoSecGPS = _codeBias.EpochTime[CLOCKORBIT_SATGPS];      // 0 .. 604799 s  
+    epoSecGPS = _codeBias.EpochTime[CLOCKORBIT_SATGPS];      // 0 .. 604799 s
   }
   else if (_phaseBias.NumberOfSat[CLOCKORBIT_SATGPS] > 0) {
-    epoSecGPS = _phaseBias.EpochTime[CLOCKORBIT_SATGPS];     // 0 .. 604799 s  
+    epoSecGPS = _phaseBias.EpochTime[CLOCKORBIT_SATGPS];     // 0 .. 604799 s
   }
   else if (_vTEC.NumLayers > 0) {
-    epoSecGPS = _vTEC.EpochTime;                             // 0 .. 604799 s  
+    epoSecGPS = _vTEC.EpochTime;                             // 0 .. 604799 s
   }
   else if (_clkOrb.NumberOfSat[CLOCKORBIT_SATGLONASS] > 0) {
@@ -687,5 +694,5 @@
     case CODETYPEGPS_L5_I:          return "5I";
     case CODETYPEGPS_L5_Q:          return "5Q";
-    default: return "";                 
+    default: return "";
     }
   }
@@ -696,5 +703,5 @@
     case CODETYPEGLONASS_L2_CA:     return "2C";
     case CODETYPEGLONASS_L2_P:      return "2P";
-    default: return "";                 
+    default: return "";
     }
   }
@@ -713,5 +720,5 @@
     case CODETYPEGALILEO_E6_B:      return "6B";
     case CODETYPEGALILEO_E6_C:      return "6C";
-    default: return "";                 
+    default: return "";
     }
   }
@@ -731,5 +738,5 @@
     case CODETYPEQZSS_LEX_L:        return "6L";
     case CODETYPEQZSS_LEX_SL:       return "6X";
-    default: return "";                 
+    default: return "";
     }
   }
@@ -740,5 +747,5 @@
     case CODETYPE_SBAS_L5_Q:        return "5Q";
     case CODETYPE_SBAS_L5_IQ:       return "5X";
-    default: return "";                 
+    default: return "";
     }
   }
@@ -754,5 +761,5 @@
     case CODETYPE_BDS_B3_Q:         return "6Q";
     case CODETYPE_BDS_B3_IQ:        return "6X";
-    default: return "";                 
+    default: return "";
     }
   }
