Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1:Test
k3b
use-kdeeject.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File use-kdeeject.diff of Package k3b
--- libk3bdevice/k3bdevice.cpp 2007/06/24 03:07:13 1.1 +++ libk3bdevice/k3bdevice.cpp 2007/06/24 03:11:08 @@ -32,6 +32,7 @@ #include <qmutex.h> #include <k3bdebug.h> +#include <kprocess.h> #include <sys/types.h> #include <sys/ioctl.h> @@ -1509,17 +1510,24 @@ return success; #endif + k3bDebug() << "(K3bDevice::Device::eject) Device: " << blockDeviceName() << endl; + KProcess proc; + proc << "kdeeject"; + proc << "-q"; + proc << blockDeviceName(); + if (!proc.start(KProcess::Block) || !proc.normalExit()) { ScsiCommand cmd( this ); - cmd[0] = MMC_PREVENT_ALLOW_MEDIUM_REMOVAL; - cmd[5] = 0; // Necessary to set the proper command length - if( b ) - cmd[4] = 0x01; - int r = cmd.transport( TR_DIR_WRITE ); + cmd[0] = MMC_START_STOP_UNIT; - if( r ) - k3bDebug() << "(K3bDevice::Device) MMC ALLOW MEDIA REMOVAL failed." << endl; + // Since all other eject methods I saw also start the unit before ejecting + // we do it also although I don't know why... + cmd[4] = 0x1; // Start unit + cmd.transport(); + cmd[4] = 0x2; // LoEj = 1, Start = 0 - return ( r == 0 ); + return !cmd.transport(); + } + return true; } bool K3bDevice::Device::rewritable() const
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor