emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 7a7d41e07c4: Avoid infloop with wide images


From: Eli Zaretskii
Subject: master 7a7d41e07c4: Avoid infloop with wide images
Date: Mon, 4 Dec 2023 08:10:45 -0500 (EST)

branch: master
commit 7a7d41e07c4627c5de08a66368309b478c88edfc
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Avoid infloop with wide images
    
    * src/xdisp.c (produce_image_glyph): Avoid inflooping under
    visual-line-mode when wide images are displayed.  (Bug#67533)
---
 src/xdisp.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/xdisp.c b/src/xdisp.c
index ca8583869df..75d769600c4 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -31364,7 +31364,10 @@ produce_image_glyph (struct it *it)
      the cursor on same display row.  But don't do that under
      word-wrap, unless the image starts at column zero, because
      wrapping correctly needs the real pixel width of the image.  */
-  if ((it->line_wrap != WORD_WRAP || it->hpos == 0)
+  if ((it->line_wrap != WORD_WRAP
+       || it->hpos == 0
+       /* Always crop images larger than the window-width, minus 1 space.  */
+       || it->pixel_width > it->last_visible_x - FRAME_COLUMN_WIDTH (it->f))
       && (crop = it->pixel_width - (it->last_visible_x - it->current_x),
          crop > 0)
       && (it->hpos == 0 || it->pixel_width > it->last_visible_x / 4))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]