]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid infloop with wide images
authorEli Zaretskii <eliz@gnu.org>
Mon, 4 Dec 2023 13:10:06 +0000 (15:10 +0200)
committerEli Zaretskii <eliz@gnu.org>
Mon, 4 Dec 2023 13:10:06 +0000 (15:10 +0200)
* src/xdisp.c (produce_image_glyph): Avoid inflooping under
visual-line-mode when wide images are displayed.  (Bug#67533)

src/xdisp.c

index ca8583869dfc22a30ec53c804855910a2f8ba494..75d769600c49fedc69484b05cec39456d437e3f7 100644 (file)
@@ -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))