diff options
| author | Eli Zaretskii | 2012-07-24 19:34:15 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2012-07-24 19:34:15 +0300 |
| commit | 8a0484e105fcb4a7d6904f7a904003456e9ec913 (patch) | |
| tree | dc04eceb81175f9d2a1c1b02d6b0f3be04b0b79d | |
| parent | fa691a83f0f67db762d8d8d9d05d9ff97f25841f (diff) | |
| download | emacs-8a0484e105fcb4a7d6904f7a904003456e9ec913.tar.gz emacs-8a0484e105fcb4a7d6904f7a904003456e9ec913.zip | |
Fix display of tooltips damaged by enhancements for bug #11832.
src/xdisp.c (init_iterator): Don't compute dimensions of truncation
and continuation glyphs on tooltip frames, leave them at zero.
Avoids displaying continued lines in tooltips.
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/xdisp.c | 31 |
2 files changed, 24 insertions, 13 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 833fd8cc3c4..a7ed81da2d2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2012-07-24 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * xdisp.c (init_iterator): Don't compute dimensions of truncation | ||
| 4 | and continuation glyphs on tooltip frames, leave them at zero. | ||
| 5 | Avoids continued lines in tooltips. (Bug#11832) | ||
| 6 | |||
| 1 | 2012-07-24 Dmitry Antipov <dmantipov@yandex.ru> | 7 | 2012-07-24 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 8 | ||
| 3 | Simplify copy_overlay. | 9 | Simplify copy_overlay. |
diff --git a/src/xdisp.c b/src/xdisp.c index 4d77b56ad55..1d3de61c5a3 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -2733,20 +2733,25 @@ init_iterator (struct it *it, struct window *w, | |||
| 2733 | 2733 | ||
| 2734 | /* Get dimensions of truncation and continuation glyphs. These are | 2734 | /* Get dimensions of truncation and continuation glyphs. These are |
| 2735 | displayed as fringe bitmaps under X, but we need them for such | 2735 | displayed as fringe bitmaps under X, but we need them for such |
| 2736 | frames when the fringes are turned off. */ | 2736 | frames when the fringes are turned off. But leave the dimensions |
| 2737 | if (it->line_wrap == TRUNCATE) | 2737 | zero for tooltip frames, as these glyphs look ugly there and also |
| 2738 | sabotage calculations of tooltip dimensions in x-show-tip. */ | ||
| 2739 | if (!(FRAMEP (tip_frame) && it->f == XFRAME (tip_frame))) | ||
| 2738 | { | 2740 | { |
| 2739 | /* We will need the truncation glyph. */ | 2741 | if (it->line_wrap == TRUNCATE) |
| 2740 | eassert (it->glyph_row == NULL); | 2742 | { |
| 2741 | produce_special_glyphs (it, IT_TRUNCATION); | 2743 | /* We will need the truncation glyph. */ |
| 2742 | it->truncation_pixel_width = it->pixel_width; | 2744 | eassert (it->glyph_row == NULL); |
| 2743 | } | 2745 | produce_special_glyphs (it, IT_TRUNCATION); |
| 2744 | else | 2746 | it->truncation_pixel_width = it->pixel_width; |
| 2745 | { | 2747 | } |
| 2746 | /* We will need the continuation glyph. */ | 2748 | else |
| 2747 | eassert (it->glyph_row == NULL); | 2749 | { |
| 2748 | produce_special_glyphs (it, IT_CONTINUATION); | 2750 | /* We will need the continuation glyph. */ |
| 2749 | it->continuation_pixel_width = it->pixel_width; | 2751 | eassert (it->glyph_row == NULL); |
| 2752 | produce_special_glyphs (it, IT_CONTINUATION); | ||
| 2753 | it->continuation_pixel_width = it->pixel_width; | ||
| 2754 | } | ||
| 2750 | } | 2755 | } |
| 2751 | 2756 | ||
| 2752 | /* Reset these values to zero because the produce_special_glyphs | 2757 | /* Reset these values to zero because the produce_special_glyphs |