X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontList.cpp;h=c32666080df441c0c4026037b08aa0cde5f3122d;hb=72c304a6297311086d8fe1a17622f7b79623d3bd;hp=1bfab761fd8d7cace97377056fed300f2909eb64;hpb=ac759b4368e2a3477c8ef81ebf749a68280ef3d8;p=lyx.git diff --git a/src/FontList.cpp b/src/FontList.cpp index 1bfab761fd..c32666080d 100644 --- a/src/FontList.cpp +++ b/src/FontList.cpp @@ -69,7 +69,7 @@ void FontList::erase(pos_type pos) iterator it = fontIterator(pos); iterator beg = list_.begin(); if (it != list_.end() && it->pos() == pos - && (pos == 0 + && (pos == 0 || (it != list_.begin() && prev(it, 1)->pos() == pos - 1))) { // If it is a multi-character font @@ -112,14 +112,6 @@ void FontList::decreasePosAfterPos(pos_type pos) } -void FontList::setRange(pos_type startpos, pos_type endpos, Font const & font) -{ - // FIXME: Optimize!!! - for (pos_type pos = startpos; pos != endpos; ++pos) - set(pos, font); -} - - void FontList::set(pos_type pos, Font const & font) { // No need to simplify this because it will disappear @@ -135,7 +127,7 @@ void FontList::set(pos_type pos, Font const & font) size_t const i = distance(list_.begin(), it); // Is position pos a beginning of a font block? - bool const begin = pos == 0 || !found + bool const begin = pos == 0 || !found || (i > 0 && list_[i - 1].pos() == pos - 1); // Is position pos at the end of a font block?