diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2015-04-23 22:25:15 +0200 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2015-04-23 22:25:15 +0200 |
commit | 36767275f012d205a8b192b6727a73be0cfd236b (patch) | |
tree | ae66d6f235d4a5e5276c6c7ae53599b6d19a09fd | |
parent | afdcb662ea386dc1f891e61a0ee63393f0d5c17e (diff) |
Some more CO leak fixes
-rw-r--r-- | src/controllers/controlpickermenu.cpp | 2 | ||||
-rw-r--r-- | src/controlobjectslave.cpp | 2 | ||||
-rw-r--r-- | src/engine/enginetalkoverducking.cpp | 5 | ||||
-rw-r--r-- | src/mixxx.cpp | 7 | ||||
-rw-r--r-- | src/mixxx.h | 3 |
5 files changed, 9 insertions, 10 deletions
diff --git a/src/controllers/controlpickermenu.cpp b/src/controllers/controlpickermenu.cpp index 0a4279c1d7..25bd1faad5 100644 --- a/src/controllers/controlpickermenu.cpp +++ b/src/controllers/controlpickermenu.cpp @@ -485,7 +485,7 @@ ControlPickerMenu::ControlPickerMenu(QWidget* pParent) } const int iNumSamplers = ControlObject::get( - ConfigKey("[Master]", "num_samplers")); + ConfigKey("[Master]", "num_samplers")); for (int iSamplerNumber = 1; iSamplerNumber <= iNumSamplers; ++iSamplerNumber) { // PlayerManager::groupForSampler is 0-indexed. diff --git a/src/controlobjectslave.cpp b/src/controlobjectslave.cpp index d2995326d1..c33a351e80 100644 --- a/src/controlobjectslave.cpp +++ b/src/controlobjectslave.cpp @@ -53,7 +53,9 @@ bool ControlObjectSlave::connectValueChanged(const QObject* receiver, return ret; } +// connect to parent object bool ControlObjectSlave::connectValueChanged( const char* method, Qt::ConnectionType type) { + DEBUG_ASSERT(parent() != NULL); return connectValueChanged(parent(), method, type); } diff --git a/src/engine/enginetalkoverducking.cpp b/src/engine/enginetalkoverducking.cpp index 1c6c40d688..2a4689f72f 100644 --- a/src/engine/enginetalkoverducking.cpp +++ b/src/engine/enginetalkoverducking.cpp @@ -8,9 +8,8 @@ EngineTalkoverDucking::EngineTalkoverDucking( : EngineSideChainCompressor(group), m_pConfig(pConfig), m_group(group) { - m_pMasterSampleRate = new ControlObjectSlave(m_group, "samplerate"); - m_pMasterSampleRate->connectValueChanged(this, - SLOT(slotSampleRateChanged(double)), + m_pMasterSampleRate = new ControlObjectSlave(m_group, "samplerate", this); + m_pMasterSampleRate->connectValueChanged(SLOT(slotSampleRateChanged(double)), Qt::DirectConnection); m_pDuckStrength = new ControlPotmeter(ConfigKey(m_group, "duckStrength"), 0.0, 1.0); diff --git a/src/mixxx.cpp b/src/mixxx.cpp index 77b664c560..4cd102e34e 100644 --- a/src/mixxx.cpp +++ b/src/mixxx.cpp @@ -270,10 +270,8 @@ MixxxMainWindow::MixxxMainWindow(QApplication* pApp, const CmdlineArgs& args) m_pVCManager->init(); #endif - m_pNumDecks = new ControlObjectThread(ConfigKey("[Master]", "num_decks"), - this); - connect(m_pNumDecks, SIGNAL(valueChanged(double)), - this, SLOT(slotNumDecksChanged(double))); + m_pNumDecks = new ControlObjectSlave(ConfigKey("[Master]", "num_decks")); + m_pNumDecks->connectValueChanged(this, SLOT(slotNumDecksChanged(double))); #ifdef __MODPLUG__ // restore the configuration for the modplug library before trying to load a module @@ -574,6 +572,7 @@ MixxxMainWindow::~MixxxMainWindow() { delete m_pShowEffects; delete m_pShowCoverArt; delete m_pNumAuxiliaries; + delete m_pNumDecks; // Check for leaked ControlObjects and give warnings. QList<QSharedPointer<ControlDoublePrivate> > leakedControls; diff --git a/src/mixxx.h b/src/mixxx.h index 2ba96554e3..3e1e176a77 100644 --- a/src/mixxx.h +++ b/src/mixxx.h @@ -51,7 +51,6 @@ class DlgDeveloperTools; #include "util/timer.h" class ControlObjectSlave; -class ControlObjectThread; class ControlObject; class QTranslator; @@ -303,7 +302,7 @@ class MixxxMainWindow : public QMainWindow { QList<ControlObjectSlave*> m_pVinylControlEnabled; QList<ControlObjectSlave*> m_pPassthroughEnabled; QList<ControlObjectSlave*> m_pAuxiliaryPassthrough; - ControlObjectThread* m_pNumDecks; + ControlObjectSlave* m_pNumDecks; int m_iNumConfiguredDecks; QList<ControlObjectSlave*> m_micTalkoverControls; QSignalMapper* m_VCControlMapper; |