K3b has a bug where it sometimes fails to verify a newly written disk, even
though it's a good burn.

The fix is in k3bchecksumpipe.cpp.  The function K3bChecksumPipe.open needs
to be changed as follows:

OLD VERSION: (body of K3bChecksumPipe.open):

  if( K3bActivePipe::open( closeWhenDone ) ) {
    d->checksumType = type;
    return true;
    return false;


    d->checksumType = type;
  return K3bActivePipe::open( closeWhenDone );


I believe what was happening was that, during the write, the call on
K3bActivePipe would start the disk read going before control was returned to
the calling routine and the reset could be done.  The result was that the
checksum was getting reset AFTER it had already seen some of the data.  This
made the checksum from the write wrong, so the compare failed after the
verify read.  Experiments showed that it was the "write" checksum that was
wrong, not the read/verify checksum.

Numerous tests show that this fix fixes the bug.

I hope you can make and distribute the change soon.

k3b is an excellent program and I'd be lost without it.

Phil Petit
pkg-kde-extras mailing list

Reply via email to