]> git.lyx.org Git - features.git/commitdiff
Fix assertion when ChkTeX hit math.
authorJuergen Spitzmueller <spitz@lyx.org>
Sat, 22 Mar 2014 11:09:18 +0000 (12:09 +0100)
committerRichard Heck <rgheck@lyx.org>
Mon, 21 Apr 2014 15:51:57 +0000 (11:51 -0400)
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
src/frontends/qt4/GuiErrorList.cpp

index 435a806f06f0cf162f65ddb8fd0fd6d2eecb79bb..ab5501cdb629a020918fb73b245f505e97d0c410 100644 (file)
@@ -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"
@@ -2496,7 +2498,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();
index 9924d649a1a7edd532453c4e99d14717322a5943..1ab919880f5e4d386b1654214a4cde5340cff7ad 100644 (file)
@@ -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;