Summary: | amarok crashes when editing tags | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | richlv |
Component: | general | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | mitchell |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
richlv
2006-09-06 12:11:52 UTC
Same for me with revision 581326: #4 0xb635e0b2 in TagLib::FileRef::operator= () from /usr/lib/libtag.so.1 #5 0xb7d626a6 in MetaBundle::readUniqueId (this=0xb41bc620, fileref=0x0) at /home/sander/downloads/multimedia/amarok/src/metabundle.cpp:1539 #6 0xb7d643a9 in MetaBundle::save (this=0xb41bc620, fileref=0x0) at /home/sander/downloads/multimedia/amarok/src/metabundle.cpp:1416 #7 0xb7e6081d in TagDialogWriter::doJob (this=0xb41bbb60) at /home/sander/downloads/multimedia/amarok/src/tagdialog.cpp:1201 #8 0xb7e78ca8 in ThreadWeaver::Thread::run (this=0x83672d8) at /home/sander/downloads/multimedia/amarok/src/threadweaver.cpp:297 #9 0xb6700e73 in QThreadInstance::start () from /opt/qt/lib/libqt-mt.so.3 #10 0xb62af274 in start_thread () from /lib/libpthread.so.0 #11 0xb60d547e in clone () from /lib/libc.so.6 SVN commit 581413 by aturner: Copying an object to memory address 0x0 is bad. Since all we need is to use the object during the function, put the object on the stack and copy its address to the pointer. M +3 -1 metabundle.cpp --- trunk/extragear/multimedia/amarok/src/metabundle.cpp #581412:581413 @@ -1536,7 +1536,9 @@ if( !fileref ) { const QString path = url().path(); - *fileref = TagLib::FileRef( QFile::encodeName( path ), true, TagLib::AudioProperties::Fast ); + //Make it get cleaned up at the end of the function automagically + TagLib::FileRef tmpfileref( QFile::encodeName( path ), true, TagLib::AudioProperties::Fast ); + fileref = &tmpfileref; } if( !fileref || fileref->isNull() ) Fixed by 581423 as well as 581413 |