]> git.lyx.org Git - lyx.git/blobdiff - src/Paragraph.cpp
Fix initial focus problem with outline and view-source panes.
[lyx.git] / src / Paragraph.cpp
index 1e86b52fd3290f132a7201bca61f17140e8b8531..eb966b8029cc7e616f0c180f9ee52e28508e9c57 100644 (file)
@@ -744,7 +744,16 @@ void Paragraph::Private::latexInset(
                }
        }
 
-       int tmp = inset->latex(os, runparams);
+       int tmp;
+
+       try {
+               tmp = inset->latex(os, runparams);
+       } catch (EncodingException & e) {
+               // add location information and throw again.
+               e.par_id = id_;
+               e.pos = i;
+               throw(e);
+       }
 
        if (close) {
        if (running_font.language()->lang() == "farsi")
@@ -1212,7 +1221,7 @@ void Paragraph::appendString(docstring const & s, Font const & font,
        d->text_.append(s);
 
        // FIXME: Optimize this!
-       for (pos_type i = 0; i != end; ++i) {
+       for (pos_type i = oldsize; i != newsize; ++i) {
                // track change
                d->changes_.insert(change, i);
        }
@@ -2499,8 +2508,8 @@ int Paragraph::checkBiblio(Buffer const & buffer)
 
        // There was no inset at the beginning, so we need to create one with
        // the key and label of the one we erased.
-       InsetBibitem * inset = new InsetBibitem(InsetCommandParams(BIBITEM_CODE));
-       inset->setBuffer(const_cast<Buffer &>(buffer));
+       InsetBibitem * inset = 
+               new InsetBibitem(buffer, InsetCommandParams(BIBITEM_CODE));
        // restore values of previously deleted item in this par.
        if (!oldkey.empty())
                inset->setParam("key", oldkey);