X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontList.cpp;h=67fb8354b0617500c66cd4625398de501826b801;hb=548c5ba92dfd2d4d845266e392748ad18ff1ec04;hp=1bfab761fd8d7cace97377056fed300f2909eb64;hpb=ac759b4368e2a3477c8ef81ebf749a68280ef3d8;p=lyx.git diff --git a/src/FontList.cpp b/src/FontList.cpp index 1bfab761fd..67fb8354b0 100644 --- a/src/FontList.cpp +++ b/src/FontList.cpp @@ -20,8 +20,6 @@ #include "FontList.h" -#include "support/lyxalgo.h" - using namespace std; namespace lyx { @@ -69,7 +67,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 +110,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 +125,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?