summaryrefslogtreecommitdiffstats
path: root/redhat/applications/k3b/reload-for-verification.diff
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/applications/k3b/reload-for-verification.diff')
-rw-r--r--redhat/applications/k3b/reload-for-verification.diff33
1 files changed, 33 insertions, 0 deletions
diff --git a/redhat/applications/k3b/reload-for-verification.diff b/redhat/applications/k3b/reload-for-verification.diff
new file mode 100644
index 000000000..a94298181
--- /dev/null
+++ b/redhat/applications/k3b/reload-for-verification.diff
@@ -0,0 +1,33 @@
+--- libk3b/jobs/k3bverificationjob.cpp.sav 2008-05-27 10:24:20.000000000 +0200
++++ libk3b/jobs/k3bverificationjob.cpp 2009-06-11 17:58:58.000000000 +0200
+@@ -154,6 +154,20 @@ void K3bVerificationJob::start()
+ emit newTask( i18n("Checking medium") );
+
+ d->mediumHasBeenReloaded = false;
++ connect( K3bDevice::sendCommand( K3bDevice::DeviceHandler::LOAD, d->device ),
++ SIGNAL(finished(K3bDevice::DeviceHandler*)),
++ this,
++ SLOT(slotMediaLoaded()) );
++}
++
++void K3bVerificationJob::slotMediaLoaded()
++{
++ // we always need to wait for the medium. Otherwise the diskinfo below
++ // may run before the drive is ready!
++ waitForMedia( d->device,
++ K3bDevice::STATE_COMPLETE|K3bDevice::STATE_INCOMPLETE,
++ K3bDevice::MEDIA_WRITABLE );
++
+ connect( K3bDevice::sendCommand( K3bDevice::DeviceHandler::DISKINFO, d->device ),
+ SIGNAL(finished(K3bDevice::DeviceHandler*)),
+ this,
+--- libk3b/jobs/k3bverificationjob.h.sav 2008-05-27 10:24:20.000000000 +0200
++++ libk3b/jobs/k3bverificationjob.h 2009-06-11 17:13:37.000000000 +0200
+@@ -75,6 +75,7 @@ class K3bVerificationJob : public K3bJob
+ void setGrownSessionSize( const K3b::Msf& );
+
+ private slots:
++ void slotMediaLoaded();
+ void slotMediaReloaded( bool success );
+ void slotDiskInfoReady( K3bDevice::DeviceHandler* dh );
+ void readTrack( int trackIndex );