Comment 5 for bug 1406124

Revision history for this message
RJ Skerry-Ryan (rryan) wrote : Re: segfault switching to LateNight skin

Oh, I see what you're suggesting. I don't think we want a ControlObjectSlave in the GUI to live as long as the ControlDoublePrivate does.

A COSlave is like a client in a client/server setup and ControlDoublePrivate is the server. COSlave listens for Qt signals from the CDP to get updates and it calls methods on the CDP (like set() or reset()) to request changes. The server doesn't hold references to the clients and clients should be able to come and go as different parts of Mixxx that need access to the control value are created and destroyed. We could make COSlaves live forever (or as long as the server does) but that isn't really necessary -- it would create more work to do (slot invocations) every time the CDP changes and it would be a tiny waste of memory.