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

COs not being deleted -- DEBUG_ASSERT on skin reload #12560

Open
ronso0 opened this issue Jan 12, 2024 · 0 comments
Open

COs not being deleted -- DEBUG_ASSERT on skin reload #12560

ronso0 opened this issue Jan 12, 2024 · 0 comments
Labels

Comments

@ronso0
Copy link
Member

ronso0 commented Jan 12, 2024

Bug Description

I've hit this a few times when a skin is recreated, though never cared to investigate.
Actually the COs should be destroyed and recreated with the widget, but they aren't. Or rather they are but the ControlDoublePrivates are not (see https://mixxx.zulipchat.com/#narrow/stream/109171-development/topic/help.20with.20unique_ptr.20.2F.20ControlObjects.20not.20being.20destroyed)

warning [Main] ControlObject "[Channel1]" "stars_up" already created
DEBUG ASSERT: "!"pCreatorCO != nullptr, ControlObject already created"" in function static QSharedPointer<ControlDoublePrivate> ControlDoublePrivate::getControl(const ConfigKey&, ControlFlags, ControlObject*, bool, bool, bool, double) at src/master/src/control/control.cpp:173

Reproduce:

  • start Mixxx
  • change stars_up of one of the main decks
  • reload skin
  • DEBUG_ASSERT

vs.

  • start Mixxx
  • don't touch the stars COs
  • reload skins
  • no DEBUG_ASSERT
  • use one of the stars_up controls
  • reload skin
  • DEBUG_ASSERT

It happened with these two, both COs are created by widgets

Version

2.4 + 2.5, probably ever since they were added in 2.3

OS

No response

@ronso0 ronso0 added the bug label Jan 12, 2024
ronso0 added a commit to ronso0/mixxx that referenced this issue Jan 19, 2024
…G_ASSERT on skin reload

If owned by WStarRating, it can happen that the COs are not deleted when the skin is destroyed.

This is not a fix, only a workaround, for the yet unknown root cause.
mixxxdj#12560
ronso0 added a commit to ronso0/mixxx that referenced this issue Jan 19, 2024
and make them unique pointers.
This is an attempt to fix mixxxdj#12560
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

1 participant