The reordering of the code was incorrect. The code calling Change::paintCue()
has to come last, since it depends on the change_drawn value.

Spotted by coverity.
This commit is contained in:
Jean-Marc Lasgouttes 2018-05-29 15:00:04 +02:00
parent 5c3900344a
commit 6bcc7d6e42

View File

@ -232,12 +232,6 @@ void InsetText::draw(PainterInfo & pi, int x, int y) const
tm.draw(pi, x + TEXT_TO_INSET_OFFSET, y); tm.draw(pi, x + TEXT_TO_INSET_OFFSET, y);
} }
if (canPaintChange(*pi.base.bv) && (!change_drawn || pi.change_.deleted()))
// Do not draw the change tracking cue if already done by RowPainter and
// do not draw the cue for INSERTED if the information is already in the
// color of the frame
pi.change_.paintCue(pi, xframe, yframe, xframe + w, yframe + h);
if (drawFrame_) { if (drawFrame_) {
// Change color of the frame in tracked changes, like for tabulars. // Change color of the frame in tracked changes, like for tabulars.
// Only do so if the color is not custom. But do so even if RowPainter // Only do so if the color is not custom. But do so even if RowPainter
@ -258,6 +252,12 @@ void InsetText::draw(PainterInfo & pi, int x, int y) const
c = frameColor(); c = frameColor();
pi.pain.rectangle(xframe, yframe, w, h, c); pi.pain.rectangle(xframe, yframe, w, h, c);
} }
if (canPaintChange(*pi.base.bv) && (!change_drawn || pi.change_.deleted()))
// Do not draw the change tracking cue if already done by RowPainter and
// do not draw the cue for INSERTED if the information is already in the
// color of the frame
pi.change_.paintCue(pi, xframe, yframe, xframe + w, yframe + h);
} }