mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-25 21:21:21 +00:00
Make sure the mark we pass to line start is the beginning of a real line,
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.
This commit is contained in:
parent
155da3a8c5
commit
1dafcb2a24
@ -1,3 +1,9 @@
|
|||||||
|
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>
|
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtktext.c: Reference count the fonts used in
|
* gtk/gtktext.c: Reference count the fonts used in
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
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>
|
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtktext.c: Reference count the fonts used in
|
* gtk/gtktext.c: Reference count the fonts used in
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
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>
|
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtktext.c: Reference count the fonts used in
|
* gtk/gtktext.c: Reference count the fonts used in
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
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>
|
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtktext.c: Reference count the fonts used in
|
* gtk/gtktext.c: Reference count the fonts used in
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
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>
|
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtktext.c: Reference count the fonts used in
|
* gtk/gtktext.c: Reference count the fonts used in
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
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>
|
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtktext.c: Reference count the fonts used in
|
* gtk/gtktext.c: Reference count the fonts used in
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
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>
|
Mon Aug 24 18:37:15 1998 Owen Taylor <otaylor@redhat.com>
|
||||||
|
|
||||||
* gtk/gtktext.c: Reference count the fonts used in
|
* gtk/gtktext.c: Reference count the fonts used in
|
||||||
|
@ -5087,21 +5087,36 @@ gtk_text_update_text (GtkEditable *editable,
|
|||||||
static void
|
static void
|
||||||
recompute_geometry (GtkText* text)
|
recompute_geometry (GtkText* text)
|
||||||
{
|
{
|
||||||
GtkPropertyMark start_mark;
|
GtkPropertyMark mark, start_mark;
|
||||||
|
GList *new_lines;
|
||||||
gint height;
|
gint height;
|
||||||
gint width;
|
gint width;
|
||||||
|
|
||||||
free_cache (text);
|
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);
|
gdk_window_get_size (text->text_area, &width, &height);
|
||||||
|
|
||||||
text->line_start_cache = fetch_lines (text,
|
new_lines = fetch_lines (text,
|
||||||
&start_mark,
|
&mark,
|
||||||
NULL,
|
NULL,
|
||||||
FetchLinesPixels,
|
FetchLinesPixels,
|
||||||
height + text->first_cut_pixels);
|
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);
|
find_cursor (text, TRUE);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user