We need to invalidate the BibTeX cache when undoing or redoing. I do
not like having to do it for every undo or redo. We should only have
to do it if we restored or deleted an InsetBibTeX. But there is no
way, so far as I can see, to do it that way. I tried.
This commit is contained in:
Richard Heck 2016-06-30 14:53:19 -04:00
parent 08bf9781ee
commit 02847641a8

View File

@ -1349,6 +1349,13 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
else
dr.screenUpdate(Update::Force | Update::FitCursor);
dr.forceBufferUpdate();
// we only need to do this if we have deleted or restored a
// BiBTeX inset. but there is no other place to do it. one
// obvious idea is to try to do it in a copy constructor for
// InsetBibTeX, but when that is invoked, the buffer_ member
// is not yet set.
buffer().invalidateBibfileCache();
buffer().removeBiblioTempFiles();
break;
case LFUN_REDO:
@ -1359,6 +1366,9 @@ void BufferView::dispatch(FuncRequest const & cmd, DispatchResult & dr)
else
dr.screenUpdate(Update::Force | Update::FitCursor);
dr.forceBufferUpdate();
// see above
buffer().invalidateBibfileCache();
buffer().removeBiblioTempFiles();
break;
case LFUN_FONT_STATE: