[LyX/master] Add a risk hedge for timing of initialization
Koji Yokota <[email protected]> Sun, 10 May 2026 13:13:20 +0000
| Newsgroups | gmane.editors.lyx.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit 015d40fb9720447e60ef98d3e39d8a2d4415c45a Author: Koji Yokota <[email protected]> Date: Sun May 10 22:10:45 2026 +0900 Add a risk hedge for timing of initialization --- src/TextMetrics.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/TextMetrics.cpp b/src/TextMetrics.cpp index 04827030e5..c7ee6769d5 100644 --- a/src/TextMetrics.cpp +++ b/src/TextMetrics.cpp @@ -578,6 +578,10 @@ bool TextMetrics::redoParagraph(pit_type const pit, bool const align_rows) pm.dim().des -= pm.rows().front().ascent(); // Tell the input method about pm + // Note that initial value of im_ is a nullptr, since TextMetrics is + // constructed in the initialization of BufferView before GuiInputMethod + // is constructed. Don't call this function too early. + LBUFERR(im_ != nullptr); im_->setParagraphMetrics(pm); changed |= old_dim.height() != pm.dim().height(); @@ -859,6 +863,10 @@ Row TextMetrics::tokenizeParagraph(pit_type const pit) const if (ic_it.inTexted() && ic_it.text() == text_ && ic_it.pit() == pit) ic_pos = ic_it.pos(); + // Note that initial value of im_ is a nullptr, since TextMetrics is + // constructed in the initialization of BufferView before GuiInputMethod + // is constructed. Don't call this function too early. + LBUFERR(im_ != nullptr); docstring & preedit = im_->preeditString(); // Now we iterate through until we reach the right margin -- lyx-cvs mailing list [email protected] https://lists.lyx.org/mailman/listinfo/lyx-cvs