InsetBibtex::InsetBibtex(Buffer * buf, InsetCommandParams const & p)
: InsetCommand(buf, p)
-{}
+{
+ buffer().invalidateBibfileCache();
+ buffer().removeBiblioTempFiles();
+}
+
+
+InsetBibtex::~InsetBibtex()
+{
+ if (isBufferLoaded()) {
+ /* We do not use buffer() because Coverity believes that this
+ * may throw an exception. Actually this code path is not
+ * taken when buffer_ == 0 */
+ buffer_-> invalidateBibfileCache();
+ buffer_->removeBiblioTempFiles();
+ }
+}
ParamInfo const & InsetBibtex::findInfo(string const & /* cmdName */)
cur.recordUndo();
setParams(p);
+ buffer().invalidateBibfileCache();
+ buffer().removeBiblioTempFiles();
cur.forceBufferUpdate();
break;
}
}
-FileNamePairList InsetBibtex::getBibFiles() const
+support::FileNamePairList InsetBibtex::getBibFiles() const
{
FileName path(buffer().filePath());
- PathChanger p(path);
+ support::PathChanger p(path);
// We need to store both the real FileName and the way it is entered
// (with full path, rel path or as a single file name).
// The latter is needed for biblatex's central bibfile macro.
- FileNamePairList vec;
+ support::FileNamePairList vec;
vector<docstring> bibfilelist = getVectorFromString(getParam("bibfiles"));
vector<docstring>::const_iterator it = bibfilelist.begin();
}
return vec;
+
}
namespace {
BiblioInfo keylist;
- FileNamePairList const files = getBibFiles();
- FileNamePairList::const_iterator it = files.begin();
- FileNamePairList::const_iterator en = files.end();
+ support::FileNamePairList const files = getBibFiles();
+ support::FileNamePairList::const_iterator it = files.begin();
+ support::FileNamePairList::const_iterator en = files.end();
for (; it != en; ++ it) {
FileName const bibfile = it->second;
if (find(checkedFiles.begin(), checkedFiles.end(), bibfile) != checkedFiles.end())
}
-void InsetBibtex::updateBuffer(ParIterator const &, UpdateType) {
- buffer().registerBibfiles(getBibFiles());
-}
-
-
int InsetBibtex::plaintext(odocstringstream & os,
OutputParams const & op, size_t max_length) const
{