Index: trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- trunk/BNC/src/PPP/pppClient.cpp	(revision 5778)
+++ trunk/BNC/src/PPP/pppClient.cpp	(revision 5779)
@@ -128,7 +128,7 @@
 // 
 //////////////////////////////////////////////////////////////////////////////
-void t_pppClient::putOrbCorrections(const vector<t_orbCorr>& corr) {
+void t_pppClient::putOrbCorrections(const vector<t_orbCorr*>& corr) {
   for (unsigned ii = 0; ii < corr.size(); ii++) {
-    _ephPool->putOrbCorrection(new t_orbCorr(corr[ii]));
+    _ephPool->putOrbCorrection(new t_orbCorr(*corr[ii]));
   }
   LOG << OPT->_roverName <<  " putOrbCorrections " << corr.size() << endl;
@@ -137,7 +137,7 @@
 // 
 //////////////////////////////////////////////////////////////////////////////
-void t_pppClient::putClkCorrections(const vector<t_clkCorr>& corr) {
+void t_pppClient::putClkCorrections(const vector<t_clkCorr*>& corr) {
   for (unsigned ii = 0; ii < corr.size(); ii++) {
-    _ephPool->putClkCorrection(new t_clkCorr(corr[ii]));
+    _ephPool->putClkCorrection(new t_clkCorr(*corr[ii]));
   }
   LOG << OPT->_roverName <<  " putClkCorrections " << corr.size() << endl;
@@ -146,7 +146,7 @@
 // 
 //////////////////////////////////////////////////////////////////////////////
-void t_pppClient::putBiases(const vector<t_satBiases>& biases) {
+void t_pppClient::putBiases(const vector<t_satBiases*>& biases) {
   for (unsigned ii = 0; ii < biases.size(); ii++) {
-    _obsPool->putBiases(new t_satBias(biases[ii]));
+    _obsPool->putBiases(new t_satBias(*biases[ii]));
   }
   LOG << OPT->_roverName <<  " putBiases " << biases.size() << endl;
Index: trunk/BNC/src/PPP/pppClient.h
===================================================================
--- trunk/BNC/src/PPP/pppClient.h	(revision 5778)
+++ trunk/BNC/src/PPP/pppClient.h	(revision 5779)
@@ -24,7 +24,7 @@
 
   void putEphemeris(const t_eph* eph);                  
-  void putOrbCorrections(const std::vector<t_orbCorr>& corr); 
-  void putClkCorrections(const std::vector<t_clkCorr>& corr); 
-  void putBiases(const std::vector<t_satBiases>& biases);   
+  void putOrbCorrections(const std::vector<t_orbCorr*>& corr); 
+  void putClkCorrections(const std::vector<t_clkCorr*>& corr); 
+  void putBiases(const std::vector<t_satBiases*>& biases);   
   void processEpoch(const std::vector<t_pppSatObs*>& pppSatObs, t_output* output);
 
Index: trunk/BNC/src/PPP/pppThread.cpp
===================================================================
--- trunk/BNC/src/PPP/pppThread.cpp	(revision 5778)
+++ trunk/BNC/src/PPP/pppThread.cpp	(revision 5779)
@@ -154,7 +154,7 @@
   }
 
-  // _pppClient->putOrbCorrections(const std::vector<t_orbCorr>& corr); 
-  // _pppClient->putClkCorrections(const std::vector<t_clkCorr>& corr); 
-  // _pppClient->putBiases(const std::vector<t_satBiases>& biases);   
+  // _pppClient->putOrbCorrections(const std::vector<t_orbCorr*>& corr); 
+  // _pppClient->putClkCorrections(const std::vector<t_clkCorr*>& corr); 
+  // _pppClient->putBiases(const std::vector<t_satBiases*>& biases);   
 }
 //
@@ -176,4 +176,9 @@
   _pppClient->processEpoch(satObs, &output);
 
+  for (unsigned ii = 0; ii < satObs.size(); ii++) {
+    delete satObs[ii];
+  }
+  satObs.clear();
+
   emit newMessage(QByteArray(output._log.c_str()), true);
 }
