On Mon, Nov 21, 2022 at 09:07:02PM +0000, José Matos wrote:
> I hope that this helps,
> -- 
> José Abílio

> /home/jamatos/lyx/lyx.anon/src/BufferView.cpp: In member function ???bool 
> lyx::BufferView::needsFitCursor() const???:
> /home/jamatos/lyx/lyx.anon/src/BufferView.cpp:485:47: warning: possibly 
> dangling reference to a temporary [-Wdangling-reference]
>   485 |                 frontend::FontMetrics const & fm =
>       |                                               ^~
> 
> /home/jamatos/lyx/lyx.anon/src/BufferView.cpp:486:39: note: the temporary was 
> destroyed at the end of the full expression ???lyx::theFontMetrics((*(const 
> lyx::FontInfo*)(&((lyx::BufferView::Private*)((const 
> lyx::BufferView*)this)->lyx::BufferView::d)->lyx::BufferView::Private::cursor_.lyx::Cursor::getFont().lyx::Font::fontInfo())))???
>   486 |                         
> theFontMetrics(d->cursor_.getFont().fontInfo());
>       |                         
> ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Can you try whether the attached changes anything? P

diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index 0bbf649796..bf1af74d71 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -482,8 +482,9 @@ void BufferView::setSearchRequestCache(docstring const & 
text)
 bool BufferView::needsFitCursor() const
 {
        if (cursorStatus(d->cursor_) == CUR_INSIDE) {
+               Font tmpf = d->cursor_.getFont();
                frontend::FontMetrics const & fm =
-                       theFontMetrics(d->cursor_.getFont().fontInfo());
+                       theFontMetrics(tmpf.fontInfo());
                int const asc = fm.maxAscent();
                int const des = fm.maxDescent();
                Point const p = getPos(d->cursor_);
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to