Summary: | Amarok crashed after double-clicking on an album in local collection [@ LabelsApplet::engineNewTrackPlaying] | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | Leonardo La Malfa <leonardo.la.malfa> |
Component: | Context View/Labels | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | hessijames, julee.vv, lfranchi, stuffcorpse |
Priority: | NOR | ||
Version: | 2.3.1.90 | ||
Target Milestone: | 2.3.2 | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 2.3.2 |
Description
Leonardo La Malfa
2010-08-20 20:27:02 UTC
i compiled amarok with kde 4.5.0 and had some serious problems myself. unfortunately i have no idea what the problem might be and i won't have time within the next two weeks. i have some code cleanups on my todo list that would remove the engineNewTrackPlaying function anyway. but they won't make it into amarok 2.3.2. so either somebody knows what is going on here or we should disable the labels applet for the next release. Setting to confirmed. Daniel, please drop by in the developer channel on irc.freenode.net commit 3a51b5e94b5558eaa2946ecf4e9ef4f5d8f3cf45 Author: Rick W. Chen <stuffcorpse@archlinux.us> Date: Wed Aug 11 16:58:34 2010 +1200 Prevent possible labels applet crash on new track playing BUG: 248538 diff --git a/ChangeLog b/ChangeLog index 4d2895b..0367044 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,7 @@ VERSION 2.3.2 * Use system date/time format for default name when saving user playlists. BUGFIXES: + * Fix possible crash in Labels Applet when playing new track. (BR 248538) * Fix cover found dialog closing when download failed or is cancelled. * Fix failure when fetching cddb info for audio CDs in localized Amarok. * Fix expanding items in collection browser by double-click, in diff --git a/src/context/applets/labels/LabelsApplet.cpp b/src/context/applets/labels/LabelsApplet.cpp index 66bbddc..41a698b 100644 --- a/src/context/applets/labels/LabelsApplet.cpp +++ b/src/context/applets/labels/LabelsApplet.cpp @@ -184,6 +184,9 @@ LabelsApplet::resultReady( const QString &collectionId, const Meta::LabelList &l void LabelsApplet::engineNewTrackPlaying( ) { + if( !m_addLabelProxy ) + return; + DEBUG_BLOCK m_currentLabels.clear(); m_labelInfos.clear(); Rick, did this really fix the problem for you? Because I also added some pointer checks and it would indeed fix the crash but create a freeze in updateLabels() I guess. That's the point where I gave up (for now). And btw. I don't have permissions to edit this bug. Where can I get them? (In reply to comment #4) > And btw. I don't have permissions to edit this bug. Where can I get them? As already stated earlier, please come to the amarok-dev channel on irc.freenode.net to discuss that. commit bba8c658bec4482af35ea97b956ef8e75dc0f1e9 Author: Martin Blumenstingl <darklight.xdarklight@googlemail.com> Date: Fri Aug 27 17:26:35 2010 +0200 LabelsApplet: trying to fix another crash. Similar solution to the one from BUG 248538. CCBUG: 248553 CCBUG: 248538 diff --git a/src/context/applets/labels/LabelsApplet.cpp b/src/context/applets/labels/LabelsApplet.cpp index 41a698b..a6fade5 100644 --- a/src/context/applets/labels/LabelsApplet.cpp +++ b/src/context/applets/labels/LabelsApplet.cpp @@ -229,6 +229,10 @@ LabelsApplet::enginePlaybackEnded( qint64 finalPosition, qint64 trackLength, Pla Q_UNUSED( finalPosition ) Q_UNUSED( trackLength ) DEBUG_BLOCK + + if( !m_addLabelProxy ) + return; + m_currentLabels.clear(); m_labelInfos.clear(); updateLabels(); *** Bug 249329 has been marked as a duplicate of this bug. *** |