d->scrollbarParameters_.max -= minVisiblePart();
else
d->scrollbarParameters_.max -= d->scrollbarParameters_.page_step;
+
+ // 0 must be inside the range as it denotes the current position
+ if (d->scrollbarParameters_.max < 0)
+ d->scrollbarParameters_.max = 0;
+ if (d->scrollbarParameters_.min > 0)
+ d->scrollbarParameters_.min = 0;
}
}
-bool BufferView::scrollToCursor(DocIterator const & dit, bool recenter)
+bool BufferView::scrollToCursor(DocIterator const & dit, bool const recenter)
{
// We are not properly started yet, delay until resizing is
// done.
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. another idea is to look at the InsetLists
+ // of the various paragraphs. but we'd have to recurse through
+ // the contained insets to make that work. it doesn't seem to
+ // be worth it, as this will not happen that often.
+ buffer().invalidateBibfileCache();
+ buffer().removeBiblioTempFiles();
break;
case LFUN_REDO:
else
dr.screenUpdate(Update::Force | Update::FitCursor);
dr.forceBufferUpdate();
+ // see above
+ buffer().invalidateBibfileCache();
+ buffer().removeBiblioTempFiles();
break;
case LFUN_FONT_STATE: