# HG changeset patch # User Chris Cannam # Date 1146067213 0 # Node ID d99d67a5b93a918c9e1f69f657ddf644ec02f4d0 # Parent 19bf27e4fb297b75e94dfb925275a4df23d0003f * Fix crash in spectrogram layer when replacing model * Change sample player's sample path to a single sample directory. This makes it immune to OS path separator differences, and ensures it can reject configure calls that try to set a nonexistent directory. Reloading play parameters (e.g. sample program) should now work. * some win32 fixes. diff -r 19bf27e4fb29 -r d99d67a5b93a layer/SpectrogramLayer.cpp --- a/layer/SpectrogramLayer.cpp Thu Apr 13 18:29:10 2006 +0000 +++ b/layer/SpectrogramLayer.cpp Wed Apr 26 16:00:13 2006 +0000 @@ -114,11 +114,6 @@ m_mutex.lock(); m_cacheInvalid = true; m_model = model; - delete m_cache; //!!! hang on, this isn't safe to do here is it? - // we need some sort of guard against the fill - // thread trying to read the defunct model too. - // should we use a scavenger? - m_cache = 0; m_mutex.unlock(); if (!m_model || !m_model->isOK()) return; @@ -1375,8 +1370,8 @@ // in the model while we aren't holding a lock. It's safe // for us to continue to use the "old" values if that // happens, because they will continue to match the - // dimensions of the actual cache (which we manage, not - // the model). + // dimensions of the actual cache (which this thread + // manages, not the layer's). m_layer.m_mutex.unlock(); double *input = (double *)