- Changed back to use fixed RW_pointer unique()
authorMarius Tomaschewski <mt@suse.de>
Mon, 20 Feb 2006 17:14:55 +0000 (17:14 +0000)
committerMarius Tomaschewski <mt@suse.de>
Mon, 20 Feb 2006 17:14:55 +0000 (17:14 +0000)
zypp/media/MediaHandler.cc

index f83ed37fc4dfc7b59ecbaa5e929cf4f3df29df10..76dd1cf38ccda9a5d8f91a2e92de2f615afc077e 100644 (file)
@@ -102,8 +102,7 @@ MediaHandler::removeAttachPoint()
   }
 
   INT << "MediaHandler - checking if to remove attach point" << endl;
-//  if ( _attachPoint.unique() &&
-    if(_attachPoint.use_count() <= 2 &&
+  if ( _attachPoint.unique() &&
        _attachPoint->temp    &&
        !_attachPoint->path.empty() &&
        PathInfo(_attachPoint->path).isDir())
@@ -314,6 +313,8 @@ void MediaHandler::attach( bool next )
   if ( isAttached() )
     return;
 
+  setMediaSource(MediaSourceRef());
+
 /**
   if ( _attachPoint->empty() ) {
     ERR << "Bad Attachpoint" << endl;
@@ -386,8 +387,7 @@ void MediaHandler::release( bool eject )
       << ", use count=" << _mediaSource.use_count()
       << std::endl;
 
-//  if( _mediaSource.unique())
-  if( _mediaSource.use_count() <= 2)
+  if( _mediaSource.unique())
   {
     DBG << "Releasing media " << _mediaSource->asString() << std::endl;
     releaseFrom( eject ); // pass to concrete handler