X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferList.cpp;h=341ddf455bdcbd5ba83a412aad846909ec82aa91;hb=4db3e641ed6765e005343010cb90ee8af26f8f99;hp=f756384bf455a4f9aab2b9b28b50aab3d38f2258;hpb=02c73cd7213a22d290dd18c127bf2350fd5a8dae;p=lyx.git diff --git a/src/BufferList.cpp b/src/BufferList.cpp index f756384bf4..341ddf455b 100644 --- a/src/BufferList.cpp +++ b/src/BufferList.cpp @@ -92,13 +92,15 @@ BufferList::const_iterator BufferList::end() const void BufferList::release(Buffer * buf) { - LASSERT(buf, /**/); + // We may leak here, but we probably do not need to + // shut down. + LASSERT(buf, return); BufferStorage::iterator const it = find(bstore.begin(), bstore.end(), buf); if (it != bstore.end()) { Buffer * tmp = (*it); - LASSERT(tmp, /**/); bstore.erase(it); + LASSERT(tmp, return); delete tmp; } } @@ -192,13 +194,14 @@ Buffer * BufferList::getBuffer(unsigned int choice) Buffer * BufferList::next(Buffer const * buf) const { - LASSERT(buf, /**/); + // Something is wrong, but we can probably survive it. + LASSERT(buf, return 0); if (bstore.empty()) return 0; BufferStorage::const_iterator it = find(bstore.begin(), bstore.end(), buf); - LASSERT(it != bstore.end(), /**/); + LASSERT(it != bstore.end(), return 0); ++it; Buffer * nextbuf = (it == bstore.end()) ? bstore.front() : *it; return nextbuf; @@ -207,13 +210,14 @@ Buffer * BufferList::next(Buffer const * buf) const Buffer * BufferList::previous(Buffer const * buf) const { - LASSERT(buf, /**/); + // Something is wrong, but we can probably survive it. + LASSERT(buf, return 0); if (bstore.empty()) return 0; BufferStorage::const_iterator it = find(bstore.begin(), bstore.end(), buf); - LASSERT(it != bstore.end(), /**/); + LASSERT(it != bstore.end(), return 0); Buffer * previousbuf = (it == bstore.begin()) ? bstore.back() : *(it - 1); return previousbuf; @@ -265,11 +269,13 @@ bool BufferList::exists(FileName const & fname) const namespace { + struct equivalent_to : public binary_function { bool operator()(FileName const & x, FileName const & y) const { return equivalent(x, y); } }; + }