- Use swap instead of reset in RW_pointer.
authorMichael Andres <ma@suse.de>
Fri, 17 Feb 2006 20:57:36 +0000 (20:57 +0000)
committerMichael Andres <ma@suse.de>
Fri, 17 Feb 2006 20:57:36 +0000 (20:57 +0000)
zypp/base/PtrTypes.h
zypp/ui/Selectable.h

index f4bfa9a..f2debfe 100644 (file)
@@ -167,10 +167,10 @@ namespace zypp
         {}
 
         void reset()
-        { _dptr.reset(); }
+        { _Ptr().swap( _dptr ); }
 
         void reset( typename _Ptr::element_type * dptr )
-        { _dptr.reset( dptr ); }
+        { _Ptr( dptr ).swap( _dptr ); }
 
         void swap( RW_pointer & rhs )
         { _dptr.swap( rhs._dptr ); }
@@ -262,10 +262,10 @@ namespace zypp
         {}
 
         void reset()
-        { _dptr.reset(); }
+        { _Ptr().swap( _dptr ); }
 
         void reset( typename _Ptr::element_type * dptr )
-        { _dptr.reset( dptr ); }
+        { _Ptr( dptr ).swap( _dptr ); }
 
         void swap( RWCOW_pointer & rhs )
         { _dptr.swap( rhs._dptr ); }
@@ -312,7 +312,7 @@ namespace zypp
         void assertUnshared()
         {
           if ( !unique() )
-            _dptr.reset( rwcowClone( _dptr.get() ) );
+            _Ptr( rwcowClone( _dptr.get() ) ).swap( _dptr );
         }
 
       private:
index dbd32dc..0860305 100644 (file)
@@ -33,7 +33,12 @@ namespace zypp
     //
     // CLASS NAME : Selectable
     //
-    /** Collects ResObject of same kind and name.
+    /** Collects PoolItems of same kind and name.
+     *
+     * Selectable is a status wrapper. That's why it offers the
+     * PoolItems ResObjects but hides their individual ResStatus.
+     * The ui::Status is calculated from (and transated to)
+     * PoolItems individual ResStatus values.
      *
      * \note There's one Selectable per installed item, in case more
      * than one item is intalled.