| Re: Re: Where to send patches May 31 2009 on content soundKonverter | Thanks, see https://bugs.launchpad.net/soundkonverter/+bug/382242 for a bug-report and https://launchpad.net/~dominik-stadler/+archive/ppa for a corresponding Ubuntu package.
Thanks... Dominik. |
| ![.](/img/trans.gif) | | Where to send patches May 31 2009 on content soundKonverter | I have at least one more patch which adds an "Eject" button to the GUI to let the user eject the CD if possible. Do you have another place where patches should go than this discussion forum?
Thanks... Dominik. |
| ![.](/img/trans.gif) | | Re: Re: soundkonverter leaks filehandl May 30 2009 on content soundKonverter | You can retrieve updated packages for soundkonverter at https://launchpad.net/~dominik-stadler/+archive/ppa for Ubuntu 9.04 which include this patch. |
| ![.](/img/trans.gif) | | Re: soundkonverter leaks filehandl May 30 2009 on content soundKonverter | I have produced a patch which fixes this problem, it ensures that file handles are closed early and removes a file handle leak and a memory leak related to QFile objects.
--- a/src/paranoia.cpp 2008-03-02 11:34:31.000000000 +0100
+++ b/src/paranoia.cpp 2009-05-30 12:47:39.000000000 +0200
@@ -103,8 +103,11 @@
char dev[4][4]={"","","",""};
f = new QFile( "/proc/sys/dev/cdrom/info" );
- if ( !f->open(IO_ReadOnly) )
+ if ( !f->open(IO_ReadOnly) ) {
+ f->close();
+ delete f;
return false;
+ }
QTextStream t( f );
while ( !t.eof() && !stop ) {
@@ -112,18 +115,25 @@
if ( s.contains("drive name:") )
stop = true;
}
- if ( !stop )
+ if ( !stop ) {
+ f->close();
+ delete f;
return false;
+ }
pos = s.find(":");
c = s.right( s.length()-pos-1 );
sscanf( c.latin1(), "%s %s %s %s", dev[0], dev[1], dev[2], dev[3] );
for ( i=0; i<4; i++ )
- if ( procCdrom( dev[i] ) )
+ if ( procCdrom( dev[i] ) ) {
+ f->close();
+ delete f;
return true;
+ }
f->close();
+ delete f;
return false;
}
--- a/src/cdmanager.h 2008-03-02 11:34:32.000000000 +0100
+++ b/src/cdmanager.h 2009-05-30 16:25:21.000000000 +0200
@@ -29,7 +29,7 @@
virtual ~CDDevice();
QString device;
- Paranoia* para;
+ //Paranoia* para;
QValueList<TagData*> tags;
TagData* discTags;
int trackCount;
--- a/src/cdmanager.cpp 2008-03-02 11:34:32.000000000 +0100
+++ b/src/cdmanager.cpp 2009-05-30 16:26:05.000000000 +0200
@@ -61,7 +61,7 @@
}
}
- para = new Paranoia();
+ Paranoia* para = new Paranoia();
for( i = 0; i < (int)s.count(); i++ ) {
if( init = para->init(s[i]) ) {
device = s[i];
@@ -103,9 +103,9 @@
else {
KMessageBox::information( 0, i18n("No audio CD found."), i18n("Warning") );
device = "";
- delete para;
- para = 0;
}
+
+ delete para;
}
CDDevice::~CDDevice()
|
| ![.](/img/trans.gif) | | soundkonverter leaks filehandl May 30 2009 on content soundKonverter | Thanks for the tool, overall it is very well done and allows to rip CDs very quickly.
However it seems soundkonverter does not close some of it's file handles. If I rip from Audio CDs, it leaves some file-handles open.
One effect of this seems to be that I cannot eject the CD using the button on the cd drive after ripping it, only typing "eject" on the commandline ejects the CD.
before:
ls -al /proc/27757/fd
...
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 12 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 13 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 14 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 15 -> /dev/sr0
l-wx------ 1 dstadler dstadler 64 2009-05-30 12:24 16 -> /dev/sr0
l-wx------ 1 dstadler dstadler 64 2009-05-30 12:24 17 -> /dev/sr0
after opening the CD selection dialog:
ls -al /proc/27757/fd
...
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 12 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 13 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 14 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 15 -> /dev/sr0
l-wx------ 1 dstadler dstadler 64 2009-05-30 12:24 16 -> /dev/sr0
l-wx------ 1 dstadler dstadler 64 2009-05-30 12:24 17 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 18 -> /dev/sr0
lrwx------ 1 dstadler dstadler 64 2009-05-30 12:24 19 -> /dev/sr0
Thanks... Dominik. |
| ![.](/img/trans.gif) | | Kernel >= 27 Nov 26 2008 on content khdapsmonitor | The following patch allows me to run it on both versions of the kernel-interfaces:
--- sysfs.cpp.orig 2008-11-26 10:49:27.000000000 +0100
+++ sysfs.cpp 2008-11-26 10:53:06.000000000 +0100
@@ -62,14 +62,22 @@
while (i < deviceList.count())
{
if(QFile("/sys/block/" + deviceList[i] + "/queue/protect").exists())
- i++;
+ i++;
+ // newer kernels provide a different interface
+ else if (QFile("/sys/block/" + deviceList[i] + "/device/unload_heads").exists())
+ i++;
else
deviceList.remove(deviceList.at(i));
}
+
return deviceList;
}
bool SysFS::queueProtected(QString device)
{
- return fileBool("/sys/block/" + device + "/queue/protect");
+ // newer kernels provide a different interface
+ if (QFile("/sys/block/" + device + "/device/unload_heads").exists())
+ return fileBool("/sys/block/" + device + "/device/unload_heads");
+ else
+ return fileBool("/sys/block/" + device + "/queue/protect");
}
|
| ![.](/img/trans.gif) | | Error with amarok-1.4 May 25 2006 on content amaroK juKebox | Hi,
if I try to run this with amarok-1.4, I get the following errors:
Traceback (most recent call last):
File "/home/dstadler/.kde3.5/share/apps/amarok/scripts/amarok-jukebox_0.6/jukebox.py", line 36, in ?
jukebox = Jukebox()
File "/home/dstadler/.kde3.5/share/apps/amarok/scripts/amarok-jukebox_0.6/jukebox.py", line 26, in __init__
signal.signal(signal.SIGKILL, self.__exit_signal_handler)
RuntimeError: (22, 'Invalid argument')
or is this rather a problem of my python-installation?
Thanks... Dominik. |
| ![.](/img/trans.gif) | | Re: Re: artists with May 25 2006 on content wabaroK - amaroK web interface | I think this means that songs by an artist without an album assigned are not shown in the artis-view.
So if you look for a song from Nick Cave, you just see the Albums of Nick Cave, but not a single song that is not assigned to an album in the collection that is from him.
I hope that makes it a bit clearer... Dominik. |
| ![.](/img/trans.gif) |
Search people Current visitors New users Birthdays Most active users Back
|
|