From 0cad43a114ba0a1a46ec51c725e51de59048d049 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Sat, 22 Mar 2014 12:09:18 +0100 Subject: [PATCH] Fix assertion when ChkTeX hit math. The problem here was that we used texted-only methods (via paragraph()), which triggered the assertion as soon as we were inside math. Fixes: #8798 --- src/BufferView.cpp | 5 ++++- src/frontends/qt4/GuiErrorList.cpp | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/BufferView.cpp b/src/BufferView.cpp index e4ca2450b8..cb2214c759 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -62,6 +62,8 @@ #include "insets/InsetRef.h" #include "insets/InsetText.h" +#include "mathed/MathData.h" + #include "frontends/alert.h" #include "frontends/Application.h" #include "frontends/Delegates.h" @@ -2460,7 +2462,8 @@ void BufferView::putSelectionAt(DocIterator const & cur, bool BufferView::selectIfEmpty(DocIterator & cur) { - if (!cur.paragraph().empty()) + if ((cur.inTexted() && !cur.paragraph().empty()) + || cur.inMathed() && !cur.cell().empty()) return false; pit_type const beg_pit = cur.pit(); diff --git a/src/frontends/qt4/GuiErrorList.cpp b/src/frontends/qt4/GuiErrorList.cpp index 9924d649a1..1ab919880f 100644 --- a/src/frontends/qt4/GuiErrorList.cpp +++ b/src/frontends/qt4/GuiErrorList.cpp @@ -188,7 +188,7 @@ bool GuiErrorList::goTo(int item) return false; } // if pos_end is 0, this means it is end-of-paragraph - pos_type const s = dit.paragraph().size(); + pos_type const s = dit.lastpos(); pos_type const end = err.pos_end ? min(err.pos_end, s) : s; pos_type const start = min(err.pos_start, end); pos_type const range = end == start ? s - start : end - start;