-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash loading first track in LateNight with loop points set #9609
Comments
Commented by: ywwg For me, putting a "if (nullptr)" guard around the onMarkChanged handler fixes the problem for me, and the waveform marks are all in the right places so that may be the easiest way to fix it. |
Commented by: ferranpujolcamins Related bug. Set a loop on a track and tap the eject button -> Crash |
Commented by: ferranpujolcamins So when ejecting a track, all the hotcues are set to -1. Concurrently, m_pCurrentTrack will be set to nullptr. Thus, we really need to check for nullptr in onMarkChanged. |
Commented by: ferranpujolcamins Yes, so after loading a track we call updateCues in slotTrackLoaded. So we only need to check for nullptr on onmarkChanges and that's it. I'm opening a PR. Thank you very much for exposing the bug with such detail. |
Issue closed with status Fix Released. |
Reported by: ywwg
Date: 2019-03-05T18:43:54Z
Status: Fix Released
Importance: Critical
Launchpad Issue: lp1818714
Initial discussion here:
#2016
"What's going on is m_pCurrentTrack is null at construction time. When a track is loaded, some of the signals are crossed so that onMarkChanged is getting called before slotLoadingTrack is called. Therefore, once any track loads correctly, m_pCurrentTrack will never be null again so the crash is avoided. But also, I suspect onMarkChanged is always getting called for the old track, not the current one. onMarkChanged seems to be called by pmark->connectSamplePositionChanged signal. I'm not sure what event is triggering the sample position changes though."
"ok so this only occurs on tracks where a loop has been defined. So here are the reproduce instrux:
(https://github.com/mixxxdj/mixxx/blob/master/src/mixer/basetrackplayer.cpp#L188)
"Yes, It only happens with the LateNight skin. All of the other Skins are fine."
The text was updated successfully, but these errors were encountered: