Subject: bug#56561: 29.0.50; Infloop in try_window

From: Eli Zaretskii <[email-masked]>
Date: Fri, 15 Jul 2022 17:24:26 +0300

> From: Po Lu <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Fri, 15 Jul 2022 21:54:24 +0800
> 
> BTW, I have a question about the fix: redisplay cannot run when a
> tooltip is displayed as popup menu help-text, so adjust_glyph_matrix and
> the subsequent try_window call that is required to generate the display
> contents will not be called in time, leading to a blank tooltip.
> 
> The call could previously never fail, since the tooltip code specifies
> TRY_WINDOW_IGNORE_FONTS_CHANGE.
> 
> Would it be appropriate to call adjust_frame_glyphs and try_window again
> if this call to try_window in Fx_show_tip fails?

You mean, adjust_frame_glyphs, right?

We probably should do that, but my problem is that I cannot reproduce
the original issue: whatever I try, the condition

    it.current_y < it.last_visible_y

happens before

    MATRIX_ROW_VPOS (row, it->w->desired_matrix)
      >= it->w->desired_matrix->nrows

We need a recipe to trigger the reverse, to be able to test a
solution.