# HG changeset patch # User Chris Cannam # Date 1404318681 -3600 # Node ID 178ffa964096f32ace219b21e0fb2e7e71bde1a2 # Parent f960d67ce84237be28902f24d5c757a72dc8004b# Parent 0009b2b066e0276e892e4e0c2e2a4f2876d5f3ac Merge from default branch diff -r f960d67ce842 -r 178ffa964096 base/Debug.cpp --- a/base/Debug.cpp Wed Jun 18 13:42:01 2014 +0100 +++ b/base/Debug.cpp Wed Jul 02 17:31:21 2014 +0100 @@ -34,14 +34,16 @@ static QDebug *debug = 0; static QMutex mutex; static char *prefix; + mutex.lock(); + if (!debug) { prefix = new char[20]; sprintf(prefix, "[%lu]", (unsigned long)QCoreApplication::applicationPid()); QString pfx = ResourceFinder().getUserResourcePrefix(); QDir logdir(QString("%1/%2").arg(pfx).arg("log")); if (!logdir.exists()) logdir.mkpath(logdir.path()); - logFile = new QFile(logdir.path() + "/debug.log"); + logFile = new QFile(logdir.path() + "/sv-debug.log"); if (logFile->open(QIODevice::WriteOnly | QIODevice::Truncate)) { QDebug(QtDebugMsg) << (const char *)prefix << "Opened debug log file " @@ -59,10 +61,12 @@ *debug << endl << (const char *)prefix << "Log started at " << QDateTime::currentDateTime().toString(); } - mutex.unlock(); QDebug &dref = *debug; - return dref << endl << (const char *)prefix; + dref << endl << (const char *)prefix; + + mutex.unlock(); + return dref; } QDebug & diff -r f960d67ce842 -r 178ffa964096 data/model/EditableDenseThreeDimensionalModel.cpp --- a/data/model/EditableDenseThreeDimensionalModel.cpp Wed Jun 18 13:42:01 2014 +0100 +++ b/data/model/EditableDenseThreeDimensionalModel.cpp Wed Jul 02 17:31:21 2014 +0100 @@ -157,7 +157,7 @@ EditableDenseThreeDimensionalModel::getColumn(int index) const { QReadLocker locker(&m_lock); - if (int(index) >= m_data.size()) return Column(); + if (index < 0 || index >= m_data.size()) return Column(); return expandAndRetrieve(index); } @@ -287,7 +287,7 @@ { // See comment above m_trunc declaration in header - assert(int(index) < m_data.size()); + assert(index >= 0 && index < int(m_data.size())); Column c = m_data.at(index); if (index == 0) { return c; @@ -301,7 +301,7 @@ if (trunc < 0) { top = false; tdist = -trunc; } Column p = expandAndRetrieve(index - tdist); int psize = p.size(), csize = c.size(); - if (psize != int(m_yBinCount)) { + if (psize != m_yBinCount) { cerr << "WARNING: EditableDenseThreeDimensionalModel::expandAndRetrieve: Trying to expand from incorrectly sized column" << endl; } if (top) { @@ -390,7 +390,7 @@ QString EditableDenseThreeDimensionalModel::getBinName(int n) const { - if ((int)m_binNames.size() > n) return m_binNames[n]; + if (n >= 0 && (int)m_binNames.size() > n) return m_binNames[n]; else return ""; }