-
-
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
Extract TrackCollectionManager from Library #2365
Conversation
So this should not be reviewed yet? |
AppVeyor build on Windows with VS 2017 failed.
Thanks for trying to clean up the database access. This compiles and all tests still pass. However, I get a segfault when starting Mixxx:
|
Co-Authored-By: Be <be.0@gmx.com>
69faf56 fixes a double free issue that was caused by introducing
|
Yes, maybe there is s way to delete the delete operator.
Or delete the void* cast
|
Overloading |
Why not in our case? I have just read that it should work. Did you try as member function
Or keep it and do nothing in the body. |
Ok, then this might be a special case for QMainWindow. The debug assertion in the destructor of parented_ptr was triggered. But, anyway, deleting a parented_ptr is unintended. Pointers should be managed and owned only by a single authority. |
Now you have to explicitly obtain the plain pointer from parented_ptr if your want to delete it manually. |
To use the function pointer variant of QMetaObject::invokeMethod() was not really helpful. I didn't check myself that this has been added "recently" in Qt 5.10 and is not available in earlier versions. |
Build errors are fixed. I'm not able to reproduce any deadlock on shutdown. |
I will watch this a bit and if this does not appear again, we can merge. |
Ping @daschuer, ready for merge? Let's not keep this open indefinitely. |
I did some more test without any deadlock. So we can merge it now. |
Thank you all for your efforts and trust. I'll try to keep the following PRs smaller for easier review. |
As discussed on Zulip
TrackCollectionManager
fromLibrary
.Track
s throughTrackCollectionManager
to keep both the internalTrackCollection
and all external track collections synchronized.GlobalTrackCache
when exiting the application, caused by delayed destruction of internalTrackPointer
instances in various components.Marks as [WiP] to allow rebasing on master. Otherwise merge conflicts may arise and complicate the review of the actual changes.