[Bug 104389] Wrongly indicates success burning a DVD image

Sebastian Trueg sebastian at trueg.de
Thu Dec 7 20:41:26 CET 2006


------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
         
http://bugs.kde.org/show_bug.cgi?id=104389         
sebastian trueg de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From sebastian trueg de  2006-12-07 20:41 -------
SVN commit 611353 by trueg:

Added a little hack that checks for a write error in addition to the growisofs exit code.
growisofs seems to sometimes exit with code 0 even if an error occured.

BUG: 104389


 M  +8 -0      k3bgrowisofshandler.cpp  
 M  +2 -1      k3bgrowisofshandler.h  
 M  +2 -1      k3bgrowisofswriter.cpp  


--- trunk/extragear/multimedia/k3b/libk3b/projects/k3bgrowisofshandler.cpp #611352:611353
 @ -106,6 +106,10  @
       m_error = ERROR_MEMLOCK;
     }
 
+    else if( line.startsWith( ":-( write failed" ) ) {
+      m_error = ERROR_WRITE_FAILED;
+    }
+
     else  
       emit infoMessage( line, K3bJob::ERROR );
   }
 @ -253,6 +257,10  @
     emit infoMessage( i18n("...or by lowering the used software buffer size in the advanced K3b settings."), K3bJob::ERROR );
     break;
 
+  case ERROR_WRITE_FAILED:
+    emit infoMessage( i18n("Write error"), K3bJob::ERROR );
+    break;
+
   default:
 
     //
--- trunk/extragear/multimedia/k3b/libk3b/projects/k3bgrowisofshandler.h #611352:611353
 @ -43,7 +43,8  @
     ERROR_OVERSIZE,
     ERROR_SPEED_SET_FAILED,
     ERROR_OPC,
-    ERROR_MEMLOCK
+    ERROR_MEMLOCK,
+    ERROR_WRITE_FAILED
   };
 
   int error() const { return m_error; }
--- trunk/extragear/multimedia/k3b/libk3b/projects/k3bgrowisofswriter.cpp #611352:611353
 @ -521,7 +521,8  @
 
   d->finished = true;
 
-  if( p->exitStatus() == 0 ) {
+  // it seems that growisofs sometimes exits with a valid exit code while a write error occured
+  if( p->exitStatus() == 0 && d->gh->error() != K3bGrowisofsHandler::ERROR_WRITE_FAILED ) {
 
     int s = d->speedEst->average();
     if( s > 0 )



More information about the pkg-kde-bugs-fwd mailing list