File audacity-1.3.3-equalization.patch of Package audacity

--- src/effects/Equalization.cpp
+++ src/effects/Equalization.cpp
@@ -321,6 +321,8 @@
    }
    gPrefs->Read(wxT("/CsPresets/EQDrawMode"), &mDrawMode, true);
    gPrefs->Read(wxT("/CsPresets/EQInterp"), &mInterp, 0);
+
+   mPrompting = false;
 }
 
 
@@ -358,7 +360,10 @@
    // not required here - called automatically
    // dlog.TransferDataToWindow();
    dlog.CentreOnParent();
+
+   mPrompting = true;
    dlog.ShowModal();
+   mPrompting = false;
 
    if (!dlog.GetReturnCode())
       return false;
@@ -419,7 +424,9 @@
 
 bool EffectEqualization::Process()
 {
-   DontPromptUser();
+   if (!mPrompting) {
+      DontPromptUser();
+   }
    TrackListIterator iter(mWaveTracks);
    WaveTrack *track = (WaveTrack *) iter.First();
    int count = 0;
@@ -601,7 +608,7 @@
    mHeight = 0;
    mLoFreq = loFreq;
    mHiFreq = hiFreq;
-   M = 0;
+   M = 21;  // should be odd
    mWindowSize = windowSize;
    mFilterFuncR = filterFuncR;
    mFilterFuncI = filterFuncI;
@@ -1333,7 +1340,7 @@
    OnLinFreq(dummyEvent);
 
    MSlider->SetValue((M-1)/2);
-   M = 0;                        // force refresh in TransferDataFromWindow()
+   M = 21;                       // force refresh in TransferDataFromWindow()
 
    dBMinSlider->SetValue((int)dBMin);
    dBMin = 0;                     // force refresh in TransferDataFromWindow()
@@ -2530,11 +2537,11 @@
 
 void EqualizationDialog::OnClear(wxCommandEvent &event)
 {
+   EnvelopeUpdated();
    mLogEnvelope->Flatten(0.);
    mLogEnvelope->SetTrackLen(1.0);
    mLinEnvelope->Flatten(0.);
    mLinEnvelope->SetTrackLen(1.0);
-   EnvelopeUpdated();
    mPanel->RecalcRequired = true;
    mPanel->Refresh(false);
    if( !drawMode )
--- src/effects/Equalization.h
+++ src/effects/Equalization.h
@@ -124,6 +124,7 @@
    double mdBMin;
    bool mDrawMode;
    int mInterp;
+   bool mPrompting;
 
 public:
    enum curveType {
openSUSE Build Service is sponsored by