X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fparagraph_pimpl.C;h=ab9ba6d170a34ac7faba5461f7d2b9b6bcf8673e;hb=21226de2b87a86be19fff025cace3d286a75aa76;hp=82e73c9dddacda0051c7544eb995c9339d21f485;hpb=fcb37cc69357d839ede582145c0538886d040e70;p=lyx.git diff --git a/src/paragraph_pimpl.C b/src/paragraph_pimpl.C index 82e73c9ddd..ab9ba6d170 100644 --- a/src/paragraph_pimpl.C +++ b/src/paragraph_pimpl.C @@ -21,6 +21,8 @@ #include "encoding.h" #include "lyxrc.h" #include "debug.h" +#include "lyxtextclasslist.h" + #include "support/LAssert.h" using lyx::pos_type; @@ -150,6 +152,7 @@ void Paragraph::Pimpl::insertInset(pos_type pos, "there is an inset in position: " << pos << std::endl; } else { owner_->insetlist.insert(it, InsetTable(pos, inset)); + inset->parOwner(owner_); } if (inset_owner) @@ -256,9 +259,11 @@ void Paragraph::Pimpl::simpleTeXBlanks(std::ostream & os, TexRow & texrow, } -bool Paragraph::Pimpl::isTextAt(BufferParams const & bp, LyXFont & font, +bool Paragraph::Pimpl::isTextAt(BufferParams const & bp, string const & str, pos_type pos) { + LyXFont const & font = owner_->getFont(bp, pos); + for (string::size_type i = 0; i < str.length(); ++i) { if (pos + static_cast(i) >= size()) return false; @@ -486,7 +491,7 @@ void Paragraph::Pimpl::simpleTeXSpecialChars(Buffer const * buf, size_t pnr = 0; for (; pnr < phrases_nr; ++pnr) { - if (isTextAt(bparams, font, special_phrases[pnr][0], i)) { + if (isTextAt(bparams, special_phrases[pnr][0], i)) { os << special_phrases[pnr][1]; i += special_phrases[pnr][0].length() - 1; column += special_phrases[pnr][1].length() - 1;