diff --git a/src/BufferView.cpp b/src/BufferView.cpp index c2dc15485e..f3d3590c5d 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -981,8 +981,6 @@ void BufferView::resize(int width, int height) width_ = width; height_ = height; - // The complete text metrics will be redone. - text_metrics_.clear(); updateMetrics(false); } @@ -1339,7 +1337,6 @@ ViewMetricsInfo const & BufferView::viewMetricsInfo() void BufferView::updateMetrics(bool singlepar) { Text & buftext = buffer_.text(); - TextMetrics & tm = textMetrics(&buftext); pit_type size = int(buftext.paragraphs().size()); if (anchor_ref_ > int(buftext.paragraphs().size() - 1)) { @@ -1353,9 +1350,12 @@ void BufferView::updateMetrics(bool singlepar) // Clear out paragraph metrics to avoid having invalid metrics // in the cache from paragraphs not relayouted below - tm.clear(); + // The complete text metrics will be redone. + text_metrics_.clear(); } + TextMetrics & tm = textMetrics(&buftext); + // If the paragraph metrics has changed, we can not // use the singlepar optimisation. if (singlepar