Skip to content
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

can't remove track color (set 'no color') in track table #12758

Open
Eve00000 opened this issue Feb 8, 2024 · 5 comments
Open

can't remove track color (set 'no color') in track table #12758

Eve00000 opened this issue Feb 8, 2024 · 5 comments
Labels

Comments

@Eve00000
Copy link
Contributor

Eve00000 commented Feb 8, 2024

Bug Description

Reset color back to default in 'search selection' hangs (not directly working), Changing to another color is ok, back to default does not work although it's indicated in metadata.
After closing and restarting Mixxx the default color is shown.

Version

2.5-alpha-229-g7b3e48544a (main)

OS

win 10

@Eve00000 Eve00000 added the bug label Feb 8, 2024
@daschuer
Copy link
Member

daschuer commented Feb 8, 2024

The major difference between 2.5-alpha and 2.4-beta is the updated Qt version Qt 5.15 -> Qt 6.5
With this and similar bugs, it would be great if you can cross-check 2.4-alpha and sort out a Qt issue.

@Eve00000
Copy link
Contributor Author

Eve00000 commented Feb 8, 2024

for the moment I haven no free test computer anymore, I'll try later with a virtual one

@ronso0
Copy link
Member

ronso0 commented Feb 20, 2024

I just noticed this (once) with Mixxx 2.4 in the Playlist feature. Sometimes the repaint is done only when the selection changes, but even switching to another feature and back didn't help (tested with a one-track playlist).

@Eve00000
Copy link
Contributor Author

Hi, I'm glad you've noticed it too.

@ronso0
Copy link
Member

ronso0 commented Feb 20, 2024

This is happening rarely, but when it does happen with a specific track it is repeatable forever.

In this screencast you can see

  • the color is stuck at YELLOW in the library (table and color picker) and no way to get back to "no color"
  • two other color pickers that get updated with real track data (WTrackWidgetGroup, DlgTrackInfo)

I suspect this is some sort of caching issue.
It looks like the color update process stops in at compareAndSet() in Track::setColor, for some reason new and old color are considered equal.

mixxx/src/track/track.cpp

Lines 774 to 780 in 7c6324e

void Track::setColor(const mixxx::RgbColor::optional_t& color) {
auto locked = lockMutex(&m_qMutex);
if (compareAndSet(m_record.ptrColor(), color)) {
markDirtyAndUnlock(&locked);
emit colorUpdated(color);
}
}

track-color-reset-issue.webm

Interestingly, I ran into a DEBUG ASSERT (with another track where the color got stuck) during shutdown:

debug [Main] GlobalTrackCache - Evicting track  TrackRef {"some/music/file.flac","some/music/file.flac",7426} Track(0x55cd84a54ba0)
DEBUG ASSERT: "pTrack->getDateAdded().isValid()" in function TrackCollectionManager::SaveTrackResult TrackCollectionManager::saveTrack(Track*, TrackMetadataExportMode) const at ./src/library/trackcollectionmanager.cpp:205

@ronso0 ronso0 changed the title Reset color back to default in 'search selection' hangs, Changing to another color is ok, back to default does not work. can't remove track color (set 'no color') in track table Feb 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants