Make sure we don't unknowingly truncate tooltip text
* src/w32fns.c (Fx_show_tip): Add assertion when the default tooltip dimension limits are insufficient. (Bug#56561)
This commit is contained in:
parent
50ff15bb8a
commit
46052d1dcb
1 changed files with 18 additions and 2 deletions
20
src/w32fns.c
20
src/w32fns.c
|
@ -7568,7 +7568,23 @@ DEFUN ("x-show-tip", Fx_show_tip, Sx_show_tip, 1, 6, 0,
|
|||
clear_glyph_matrix (w->desired_matrix);
|
||||
clear_glyph_matrix (w->current_matrix);
|
||||
SET_TEXT_POS (pos, BEGV, BEGV_BYTE);
|
||||
try_window (window, pos, TRY_WINDOW_IGNORE_FONTS_CHANGE);
|
||||
bool displayed = try_window (window, pos, TRY_WINDOW_IGNORE_FONTS_CHANGE);
|
||||
if (!displayed && NILP (Vx_max_tooltip_size))
|
||||
{
|
||||
#ifdef ENABLE_CHECKING
|
||||
struct glyph_row *row = w->desired_matrix->rows;
|
||||
struct glyph_row *end =
|
||||
w->desired_matrix->rows + w->desired_matrix->nrows;
|
||||
while (row < end)
|
||||
{
|
||||
if (!row->displays_text_p
|
||||
|| row->ends_at_zv_p)
|
||||
break;
|
||||
++row;
|
||||
}
|
||||
eassert (row < end && row->ends_at_zv_p);
|
||||
#endif
|
||||
}
|
||||
/* Calculate size of tooltip window. */
|
||||
size = Fwindow_text_pixel_size (window, Qnil, Qnil, Qnil,
|
||||
make_fixnum (w->pixel_height), Qnil,
|
||||
|
@ -10770,7 +10786,7 @@ bass-down, bass-boost, bass-up, treble-down, treble-up */);
|
|||
|
||||
DEFVAR_LISP ("x-max-tooltip-size", Vx_max_tooltip_size,
|
||||
doc: /* SKIP: real doc in xfns.c. */);
|
||||
Vx_max_tooltip_size = Fcons (make_fixnum (80), make_fixnum (40));
|
||||
Vx_max_tooltip_size = Qnil;
|
||||
|
||||
DEFVAR_LISP ("x-no-window-manager", Vx_no_window_manager,
|
||||
doc: /* SKIP: real doc in xfns.c. */);
|
||||
|
|
Loading…
Add table
Reference in a new issue