X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBufferList.cpp;h=0aac272208aa1f14764be006f0d5b766751e6d63;hb=cca78e3c8ae27431323746abd64f9d7db017099d;hp=edb7885a12e90671a55e5c1dcd595c36ddd9239e;hpb=d56faa70c4671e25abf5e6e9a6910a068d5d3269;p=lyx.git diff --git a/src/BufferList.cpp b/src/BufferList.cpp index edb7885a12..0aac272208 100644 --- a/src/BufferList.cpp +++ b/src/BufferList.cpp @@ -24,8 +24,9 @@ #include "support/ExceptionMessage.h" #include "support/debug.h" -#include "support/filetools.h" #include "support/FileName.h" +#include "support/FileNameList.h" +#include "support/filetools.h" #include "support/gettext.h" #include "support/lstrings.h" #include "support/Package.h" @@ -122,12 +123,13 @@ void BufferList::closeAll() } -vector const BufferList::getFileNames() const +FileNameList const & BufferList::fileNames() const { - vector nvec; + static FileNameList nvec; + nvec.clear(); transform(bstore.begin(), bstore.end(), back_inserter(nvec), - boost::bind(&Buffer::absFileName, _1)); + boost::bind(&Buffer::fileName, _1)); return nvec; } @@ -317,11 +319,11 @@ void BufferList::setCurrentAuthor(docstring const & name, docstring const & emai } -int BufferList::bufferNum(string const & name) const +int BufferList::bufferNum(FileName const & fname) const { - vector buffers = getFileNames(); - vector::const_iterator cit = - find(buffers.begin(), buffers.end(), name); + FileNameList const & buffers = fileNames(); + FileNameList::const_iterator cit = + find(buffers.begin(), buffers.end(), fname); if (cit == buffers.end()) return 0; return int(cit - buffers.begin());