diff options
Diffstat (limited to 'redhat/applications/k3b/k3b-1.0.3-umount.patch')
-rw-r--r-- | redhat/applications/k3b/k3b-1.0.3-umount.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/redhat/applications/k3b/k3b-1.0.3-umount.patch b/redhat/applications/k3b/k3b-1.0.3-umount.patch new file mode 100644 index 000000000..394aff152 --- /dev/null +++ b/redhat/applications/k3b/k3b-1.0.3-umount.patch @@ -0,0 +1,48 @@ +--- k3b-1.0.3/libk3b/core/k3bglobals.cpp.umount 2007-07-27 21:26:30.000000000 +0200 ++++ k3b-1.0.3/libk3b/core/k3bglobals.cpp 2007-07-27 21:31:26.000000000 +0200 +@@ -569,7 +569,24 @@ + return true; + } + +- // now try pmount ++#ifdef HAVE_HAL ++ if (!K3bDevice::HalConnection::instance()->unmount( dev )) ++ return true; ++#endif ++ ++ QString gumountBin = K3b::findExe( "gnome-umount" ); ++ if( !gumountBin.isEmpty() ) { ++ KProcess p; ++ p << gumountBin; ++ p << "-u"; ++ p << "-d"; ++ p << dev->blockDeviceName(); ++ p.start( KProcess::Block ); ++ if( !p.exitStatus() ) ++ return true; ++ } ++ ++// now try pmount + QString pumountBin = K3b::findExe( "pumount" ); + if( !pumountBin.isEmpty() ) { + KProcess p; +@@ -577,15 +592,11 @@ + p << "-l"; // lazy unmount + p << dev->blockDeviceName(); + p.start( KProcess::Block ); +- return !p.exitStatus(); +- } +- else { +-#ifdef HAVE_HAL +- return !K3bDevice::HalConnection::instance()->unmount( dev ); +-#else +- return false; +-#endif ++ if( !p.exitStatus() ) ++ return true; + } ++ ++ return false; + } + + |