Index: /trunk/BNC/src/combination/bnccomb.cpp
===================================================================
--- /trunk/BNC/src/combination/bnccomb.cpp	(revision 6158)
+++ /trunk/BNC/src/combination/bnccomb.cpp	(revision 6159)
@@ -361,5 +361,5 @@
     newCorr->_iod     = clkCorr._iod;
     newCorr->_acName  = acName;
-    newCorr->_clkCorr = new t_clkCorr(clkCorr);
+    newCorr->_clkCorr = clkCorr;
 
     // Check orbit correction
@@ -376,5 +376,5 @@
       }
       else {
-        newCorr->_orbCorr = new t_orbCorr(storage[clkCorr._prn]); 
+        newCorr->_orbCorr = storage[clkCorr._prn];
       }
     }
@@ -458,13 +458,7 @@
   corr->_eph = lastEph;
 
-  if (corr->_clkCorr) {
-    corr->_clkCorr->_dClk -= dC;
-  }
-  if (corr->_orbCorr) {
-    for (int ii = 0; ii < 3; ii++) {
-      corr->_orbCorr->_xr[ii]    += dRAO[ii];
-      corr->_orbCorr->_dotXr[ii] += dDotRAO[ii];
-    }
-  }
+  corr->_orbCorr._xr    += dRAO;
+  corr->_orbCorr._dotXr += dDotRAO;
+  corr->_clkCorr._dClk  -= dC;
 }
 
@@ -743,11 +737,11 @@
                  corr->_iod,
                  corr->_dClk * t_CST::c,
-                 corr->_orbCorr->_xr[0],
-                 corr->_orbCorr->_xr[1],
-                 corr->_orbCorr->_xr[2],
+                 corr->_orbCorr._xr[0],
+                 corr->_orbCorr._xr[1],
+                 corr->_orbCorr._xr[2],
                  0.0,
-                 corr->_orbCorr->_dotXr[0],
-                 corr->_orbCorr->_dotXr[1],
-                 corr->_orbCorr->_dotXr[2],
+                 corr->_orbCorr._dotXr[0],
+                 corr->_orbCorr._dotXr[1],
+                 corr->_orbCorr._dotXr[2],
                  0.0);
     corrLines << line;
@@ -1064,9 +1058,9 @@
       if (meanRao.find(prn) == meanRao.end()) {
         meanRao[prn].ReSize(4);
-        meanRao[prn].Rows(1,3) = corr->_orbCorr->_xr;
+        meanRao[prn].Rows(1,3) = corr->_orbCorr._xr;
         meanRao[prn](4)        = 1; 
       }
       else {
-        meanRao[prn].Rows(1,3) += corr->_orbCorr->_xr;
+        meanRao[prn].Rows(1,3) += corr->_orbCorr._xr;
         meanRao[prn](4)        += 1; 
       }
@@ -1090,5 +1084,5 @@
         meanRao[prn](4) = 0;
       }
-      corr->_diffRao = corr->_orbCorr->_xr - meanRao[prn].Rows(1,3);
+      corr->_diffRao = corr->_orbCorr._xr - meanRao[prn].Rows(1,3);
       if (maxDiff.find(prn) == maxDiff.end()) {
         maxDiff[prn] = corr;
Index: /trunk/BNC/src/combination/bnccomb.h
===================================================================
--- /trunk/BNC/src/combination/bnccomb.h	(revision 6158)
+++ /trunk/BNC/src/combination/bnccomb.h	(revision 6159)
@@ -66,19 +66,14 @@
    public:
     cmbCorr() {
-      _eph     = 0;
-      _iod     = 0;
-      _orbCorr = 0;
-      _clkCorr = 0;
+      _eph = 0;
+      _iod = 0;
     }
-    ~cmbCorr() {
-      delete _orbCorr;
-      delete _clkCorr;
-    }
+    ~cmbCorr() {}
     QString      _prn;
     bncTime      _time;
     int          _iod;
     const t_eph* _eph;
-    t_orbCorr*   _orbCorr; // used for input
-    t_clkCorr*   _clkCorr; // used for input
+    t_orbCorr    _orbCorr; // used for input
+    t_clkCorr    _clkCorr; // used for input
     QString      _acName; 
     double       _dClk;    // used for output
