diff --git a/src/ModuleManager.cpp b/src/ModuleManager.cpp index 95d559471..d40932f5f 100644 --- a/src/ModuleManager.cpp +++ b/src/ModuleManager.cpp @@ -486,13 +486,13 @@ void ModuleManager::UnloadModule(ModuleInterface *module) { module->Terminate(); - delete module; - if (mLibs.find(module) != mLibs.end()) { mLibs[module]->Unload(); mLibs.erase(module); } + + delete module; //After terminating and unloading, we can safely delete the module } } diff --git a/src/effects/Equalization.cpp b/src/effects/Equalization.cpp index f2d8f3ede..a5e90dab3 100644 --- a/src/effects/Equalization.cpp +++ b/src/effects/Equalization.cpp @@ -251,16 +251,10 @@ EffectEqualization::EffectEqualization() mCurve = NULL; mDirty = false; + mDisallowCustom = false; // Load the EQ curves LoadCurves(); - if (mDisallowCustom) - { - mCustomBackup.Name = wxT("unnamed"); - EQCurve &realCustom = mCurves[mCurves.GetCount()-1]; - wxASSERT(realCustom.Name.IsSameAs(wxT("unnamed"))); - mCustomBackup.points = realCustom.points; - } // Note: initial curve is set in TransferDataToWindow diff --git a/src/effects/Equalization.h b/src/effects/Equalization.h index cb8e2d363..281ef8991 100644 --- a/src/effects/Equalization.h +++ b/src/effects/Equalization.h @@ -212,7 +212,6 @@ private: double mEQVals[NUMBER_OF_BANDS+1]; EQCurveArray mCurves; - EQCurve mCustomBackup; Envelope *mLogEnvelope; Envelope *mLinEnvelope; diff --git a/src/widgets/KeyView.cpp b/src/widgets/KeyView.cpp index 285ec70dd..0cb8c784b 100644 --- a/src/widgets/KeyView.cpp +++ b/src/widgets/KeyView.cpp @@ -97,6 +97,9 @@ KeyView::KeyView(wxWindow *parent, // The default view mViewType = ViewByTree; + + // Calculate measurements used for columns and scrolling + RecalcExtents(); } KeyView::~KeyView() diff --git a/src/widgets/NumericTextCtrl.cpp b/src/widgets/NumericTextCtrl.cpp index 2fe7530cb..99ad5892a 100644 --- a/src/widgets/NumericTextCtrl.cpp +++ b/src/widgets/NumericTextCtrl.cpp @@ -565,9 +565,11 @@ NumericConverter::NumericConverter(Type type, mFocusedDigit = 0; + mValue = value; // used in SetSampleRate, reassigned later + SetSampleRate(sampleRate); SetFormatName(formatName); - SetValue(value); + SetValue(value); // mValue got overridden to -1 in ControlsToValue(), reassign } void NumericConverter::ParseFormatString( const wxString & format)