+Tue Aug 25 16:52:47 1998 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktext.c (recompute_geometry): Make sure the
+ mark we pass to line start is the beginning of a
+ real line, not a wrapped one.
+
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c: Reference count the fonts used in
+Tue Aug 25 16:52:47 1998 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktext.c (recompute_geometry): Make sure the
+ mark we pass to line start is the beginning of a
+ real line, not a wrapped one.
+
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c: Reference count the fonts used in
+Tue Aug 25 16:52:47 1998 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktext.c (recompute_geometry): Make sure the
+ mark we pass to line start is the beginning of a
+ real line, not a wrapped one.
+
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c: Reference count the fonts used in
+Tue Aug 25 16:52:47 1998 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktext.c (recompute_geometry): Make sure the
+ mark we pass to line start is the beginning of a
+ real line, not a wrapped one.
+
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c: Reference count the fonts used in
+Tue Aug 25 16:52:47 1998 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktext.c (recompute_geometry): Make sure the
+ mark we pass to line start is the beginning of a
+ real line, not a wrapped one.
+
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c: Reference count the fonts used in
+Tue Aug 25 16:52:47 1998 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktext.c (recompute_geometry): Make sure the
+ mark we pass to line start is the beginning of a
+ real line, not a wrapped one.
+
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c: Reference count the fonts used in
+Tue Aug 25 16:52:47 1998 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktext.c (recompute_geometry): Make sure the
+ mark we pass to line start is the beginning of a
+ real line, not a wrapped one.
+
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c: Reference count the fonts used in
static void
recompute_geometry (GtkText* text)
{
- GtkPropertyMark start_mark;
+ GtkPropertyMark mark, start_mark;
+ GList *new_lines;
gint height;
gint width;
free_cache (text);
- start_mark = set_vertical_scroll (text);
-
+ mark = start_mark = set_vertical_scroll (text);
+
+ /* We need a real start of a line when calling fetch_lines().
+ * not the start of a wrapped line.
+ */
+ while (mark.index > 0 &&
+ GTK_TEXT_INDEX (text, mark.index - 1) != LINE_DELIM)
+ decrement_mark (&mark);
+
gdk_window_get_size (text->text_area, &width, &height);
- text->line_start_cache = fetch_lines (text,
- &start_mark,
- NULL,
- FetchLinesPixels,
- height + text->first_cut_pixels);
+ new_lines = fetch_lines (text,
+ &mark,
+ NULL,
+ FetchLinesPixels,
+ height + text->first_cut_pixels);
+
+ /* Now work forward to the actual first onscreen line */
+
+ while (CACHE_DATA (new_lines).start.index < start_mark.index)
+ new_lines = new_lines->next;
+
+ text->line_start_cache = new_lines;
find_cursor (text, TRUE);
}