mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-23 13:31:49 +00:00
Avoid metrics computation on resize when width did not change
Entering a math inset triggers a work area reize because the math toobars appear automatically. However, by default these toolbars are at the bottom of the screen and their presence does not change the typesetting of paragraphs. Therefore it is useful to avoid a call to updateMetrics() in the case where the width of the work area did not change. Part of bug #12297.
This commit is contained in:
parent
1d1f95d2ed
commit
f7218cec18
@ -2484,14 +2484,16 @@ void BufferView::clearSelection()
|
|||||||
|
|
||||||
void BufferView::resize(int width, int height)
|
void BufferView::resize(int width, int height)
|
||||||
{
|
{
|
||||||
// Update from work area
|
|
||||||
width_ = width;
|
|
||||||
height_ = height;
|
height_ = height;
|
||||||
|
// Update metrics only if width has changed
|
||||||
|
if (width != width_) {
|
||||||
|
width_ = width;
|
||||||
|
|
||||||
// Clear the paragraph height cache.
|
// Clear the paragraph height cache.
|
||||||
d->par_height_.clear();
|
d->par_height_.clear();
|
||||||
// Redo the metrics.
|
// Redo the metrics.
|
||||||
updateMetrics();
|
updateMetrics();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3131,6 +3133,8 @@ void BufferView::updateMetrics(bool force)
|
|||||||
if (!ready())
|
if (!ready())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
//LYXERR0("updateMetrics " << _v_(force));
|
||||||
|
|
||||||
Text & buftext = buffer_.text();
|
Text & buftext = buffer_.text();
|
||||||
pit_type const lastpit = int(buftext.paragraphs().size()) - 1;
|
pit_type const lastpit = int(buftext.paragraphs().size()) - 1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user