Corrected assignment operator:
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Dec 2007 16:46:29 +0000 (16:46 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Dec 2007 16:46:29 +0000 (16:46 +0000)
- call Copy function only once
- check for assignment to self
(Laurent)

MUON/AliMUONCluster.cxx
MUON/AliMUONDigit.cxx
MUON/AliMUONObjectPair.cxx

index d8e22c7..3fb8fe5 100644 (file)
@@ -129,8 +129,10 @@ AliMUONCluster&
 AliMUONCluster::operator=(const AliMUONCluster& src)
 {
   /// assignement operator
-  AliMUONCluster c(src);
-  c.Copy(*this);
+  if ( this != &src ) 
+  {
+    src.Copy(*this);
+  }
   return *this;
 }
 
index 5d682aa..61b4a8a 100644 (file)
@@ -347,8 +347,10 @@ AliMUONDigit::operator=(const AliMUONDigit& digit)
 {
   /// Assignement operator.
 
-  AliMUONDigit a(digit);
-  a.Copy(*this);
+  if ( this != &digit ) 
+  {
+    digit.Copy(*this);
+  }
   return *this;
 }
 
index 6fc64a8..38b39ed 100644 (file)
@@ -88,9 +88,10 @@ AliMUONObjectPair&
 AliMUONObjectPair::operator=(const AliMUONObjectPair& other)
 {
   /// assignement operator
-  AliDebug(1,"");
-  AliMUONObjectPair pair(other);
-  pair.Copy(*this);
+  if ( this != &other)
+  {
+    other.Copy(*this);
+  }
   return *this;
 }