summaryrefslogtreecommitdiff
path: root/src/dispextern.h
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2010-12-06 01:54:52 -0500
committerChong Yidong <cyd@stupidchicken.com>2010-12-06 01:54:52 -0500
commitd8b2a96214c9b53ab914901fdde71f5b0a931678 (patch)
treeb460510f4b2cc856332affb7c7ae2796d04acdb4 /src/dispextern.h
parent0afb6242c77237cd2cc1f0e623b08e20488c5b74 (diff)
downloademacs-d8b2a96214c9b53ab914901fdde71f5b0a931678.tar.gz
Fix crash with invisible text and overlays (Bug#7016).
* src/dispextern.h (struct it): New member overlay_strings_charpos. * src/xdisp.c (next_overlay_string, load_overlay_strings): Record the charpos where we computed n_overlay_strings. (next_overlay_string): Load overlay strings at recorded position, which may not be the same as the iterator's charpos (Bug#7016).
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index bc34aec2dd5..b43565739ea 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -1989,6 +1989,12 @@ struct it
OVERLAY_STRING_CHUNK_SIZE. */
int n_overlay_strings;
+ /* The charpos where n_overlay_strings was calculated. This should
+ be set at the same time as n_overlay_strings. It is needed
+ because we show before-strings at the start of invisible text;
+ see handle_invisible_prop in xdisp.c. */
+ int overlay_strings_charpos;
+
/* Vector of overlays to process. Overlay strings are processed
OVERLAY_STRING_CHUNK_SIZE at a time. */
#define OVERLAY_STRING_CHUNK_SIZE 16