Summary: | Rewrites CD-RW when doing "Copy CD..." and source and destination drive are the same | ||
---|---|---|---|
Product: | [Applications] k3b | Reporter: | Francois Marier <francois> |
Component: | general | Assignee: | Sebastian Trueg <trueg> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Francois Marier
2005-11-10 03:20:28 UTC
do you use an automounting service. If so that is probably the problem: k3b tries to eject the medium. when that fails it reuses the same medium. I should add an additional check... I do use an automounter service, the one from Gnome. I don't use KDE, I'm a Gnome user, but for me k3b is the best burning software. It's strange but k3b never fails to eject the disc in any other ways. Even when duplicating with the CD-RW (when the bug shows) it successfully eject the CD after blanking it. The process would be something like this: Insert source CD (CD-RW) - Automounter mounts it - Start copying in k3b - Read the CD-RW - Erases the CD-RW - Eject and load the CD (automatically) - Write the CD-RW with same image. Hope this info helps. If you need anything else just say so. SVN commit 485710 by trueg: Stop with an error if k3b is not able to eject the source medium in case source and burn device are the same. BUG: 116037 M +8 -2 k3bcdcopyjob.cpp M +12 -2 k3bdvdcopyjob.cpp --- branches/stable/extragear/multimedia/k3b/libk3b/jobs/k3bcdcopyjob.cpp #485709:485710 @@ -957,8 +957,14 @@ d->readingSuccessful = true; if( !m_onlyCreateImages ) { if( m_readerDevice == m_writerDevice ) { - // eject the media - K3bDevice::eject( m_readerDevice ); + // eject the media (we do this blocking to know if it worked + // becasue if it did not it might happen that k3b overwrites a CD-RW + // source) + if( !m_readerDevice->eject() ) { + emit infoMessage( i18n("Unable to eject media."), ERROR ); + finishJob( false, true ); + return; + } } if( !writeNextSession() ) { --- branches/stable/extragear/multimedia/k3b/libk3b/jobs/k3bdvdcopyjob.cpp #485709:485710 @@ -506,7 +506,17 @@ } else { if( m_writerDevice == m_readerDevice ) - m_readerDevice->eject(); + // eject the media (we do this blocking to know if it worked + // becasue if it did not it might happen that k3b overwrites a CD-RW + // source) + if( !m_readerDevice->eject() ) { + emit infoMessage( i18n("Unable to eject media."), ERROR ); + if( m_removeImageFiles ) + removeImageFiles(); + d->running = false; + emit finished(false); + return; + } if( !m_onTheFly ) { if( waitForDvd() ) { @@ -526,8 +536,8 @@ removeImageFiles(); if( d->canceled ) emit canceled(); + d->running = false; emit finished(false); - d->running = false; } } } |