[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: k3b_0_11_branch: kdeextragear-1/k3b
From: Sebastian Trueg <sebastian () trueg ! de>
Date: 2004-08-15 9:58:25
Message-ID: 20040815095825.CC6DEC21 () office ! kde ! org
[Download RAW message or body]
CVS commit by trueg:
fixed kernel 2.6.8 writer detection issues.
M +3 -0 ChangeLog 1.64.2.59
M +2 -2 src/main.cpp 1.73.2.16
M +16 -8 src/device/k3bdevice.cpp 1.87.2.26
M +3 -3 src/device/k3bdevice.h 1.56.2.5
M +7 -1 src/device/k3bscsicommand.cpp 1.4.2.1
--- kdeextragear-1/k3b/ChangeLog #1.64.2.58:1.64.2.59
@@ -1,2 +1,5 @@
+0.11.15
+Fixed writer detection issues with kernel >= 2.6.8
+
0.11.14
QT 3.1 compile fix (I keep forgetting these...)
--- kdeextragear-1/k3b/src/main.cpp #1.73.2.15:1.73.2.16
@@ -63,5 +63,5 @@ int main(int argc, char *argv[]) {
KAboutData aboutData( "k3b", I18N_NOOP("K3b"),
- "0.11.14cvs", description, KAboutData::License_GPL,
+ "0.11.15cvs", description, KAboutData::License_GPL,
I18N_NOOP("(c) 1999 - 2004, Sebastian Trueg and the K3b \
Team"), 0, "http://www.k3b.org" );
aboutData.addAuthor("Sebastian Trueg",I18N_NOOP("Maintainer"), "trueg@k3b.org");
--- kdeextragear-1/k3b/src/device/k3bdevice.cpp #1.87.2.25:1.87.2.26
@@ -76,18 +76,26 @@ const char* K3bCdDevice::CdDevice::cdrda
-int K3bCdDevice::openDevice( const char* name )
+int K3bCdDevice::openDevice( const char* name, bool write )
{
int fd = -1;
+ int flags = O_NONBLOCK;
+ if( write )
+ flags |= O_RDWR;
+ else
+ flags |= O_RDONLY;
+
#ifdef HAVE_RESMGR
// first try resmgr
- fd = ::rsm_open_device( name, O_RDONLY | O_NONBLOCK );
- kdDebug() << "(K3bCdDevice) resmgr open: " << fd << endl;
+ fd = ::rsm_open_device( name, flags );
+ kdDebug() << "(K3bDevice::Device) resmgr open: " << fd << endl;
#endif
if( fd < 0 )
- fd = ::open( name, O_RDONLY | O_NONBLOCK );
+ fd = ::open( name, flags );
- if( fd < 0 )
+ if( fd < 0 ) {
+ kdDebug() << "(K3bDevice::Device) Error: could not open device " << name << \
endl; fd = -1;
+ }
return fd;
@@ -1793,8 +1801,8 @@ bool K3bCdDevice::CdDevice::supportsWrit
-int K3bCdDevice::CdDevice::open() const
+int K3bCdDevice::CdDevice::open( bool write ) const
{
if( d->deviceFd == -1 )
- d->deviceFd = openDevice( QFile::encodeName(devicename()) );
+ d->deviceFd = openDevice( QFile::encodeName(devicename()), write );
if (d->deviceFd < 0)
{
--- kdeextragear-1/k3b/src/device/k3bdevice.h #1.56.2.4:1.56.2.5
@@ -436,5 +436,5 @@ namespace K3bCdDevice
* @see close()
*/
- int open() const;
+ int open( bool write = false ) const;
/**
@@ -687,5 +687,5 @@ namespace K3bCdDevice
* @internal
*/
- int openDevice( const char* name );
+ int openDevice( const char* name, bool write = false );
}
--- kdeextragear-1/k3b/src/device/k3bscsicommand.cpp #1.4:1.4.2.1
@@ -107,4 +107,10 @@ int K3bCdDevice::ScsiCommand::transport(
size_t len )
{
+ if( dir == TR_DIR_WRITE ) {
+ m_device->close();
+ m_fd = m_device->open( true );
+ m_needToCloseDevice = true;
+ }
+
if( m_fd == -1 ) {
return -1;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic