From 2d66dbb6788aa29c270ea021af217e2b00e3c33e Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Tue, 10 Feb 2009 22:27:43 +0000 Subject: [PATCH] Fix bug 5666: assertion when an inset is outside of workwidth http://bugzilla.lyx.org/show_bug.cgi?id=5666 Check whether an inset is in the coordcache before reading this cache (doh!) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28439 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/rowpainter.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/rowpainter.cpp b/src/rowpainter.cpp index 46544b3256..a0b554e676 100644 --- a/src/rowpainter.cpp +++ b/src/rowpainter.cpp @@ -655,15 +655,17 @@ void RowPainter::paintLast() void RowPainter::paintOnlyInsets() { + CoordCache const & cache = pi_.base.bv->coordCache(); pos_type const end = row_.endpos(); for (pos_type pos = row_.pos(); pos != end; ++pos) { // If outer row has changed, nested insets are repaint completely. Inset const * inset = par_.getInset(pos); if (!inset) continue; - if (x_ > pi_.base.bv->workWidth()) + if (x_ > pi_.base.bv->workWidth() + || !cache.getInsets().has(inset)) continue; - x_ = pi_.base.bv->coordCache().getInsets().x(inset); + x_ = cache.getInsets().x(inset); bool const pi_selected = pi_.selected; Cursor const & cur = pi_.base.bv->cursor();