# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1050609683 0 # Node ID 08e56a0f95416c76fe6f66c4489e66c86ea516fd # Parent feed7567764f43dd274844ac3f801bed49e0c582 dw_mle_set() now moves the viewport to the cursor location. diff -r feed7567764f -r 08e56a0f9541 gtk/dw.c --- a/gtk/dw.c Wed Apr 16 16:58:00 2003 +0000 +++ b/gtk/dw.c Thu Apr 17 20:01:23 2003 +0000 @@ -2241,6 +2241,7 @@ tmp = gtk_text_view_new(); gtk_container_add (GTK_CONTAINER(tmpbox), tmp); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(tmp), GTK_WRAP_NONE); + scroller = NULL; #else tmpbox = gtk_hbox_new(FALSE, 0); @@ -3210,10 +3211,20 @@ { GtkTextBuffer *tbuffer; GtkTextIter iter; + GtkTextMark *mark = (GtkTextMark *)gtk_object_get_data(GTK_OBJECT(handle), "_dw_mark"); tbuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (tmp)); gtk_text_buffer_get_iter_at_offset(tbuffer, &iter, point); + if(!mark) + { + mark = gtk_text_buffer_create_mark(tbuffer, NULL, &iter, FALSE); + gtk_object_set_data(GTK_OBJECT(handle), "_dw_mark", (gpointer)mark); + } + else + gtk_text_buffer_move_mark(tbuffer, mark, &iter); gtk_text_buffer_place_cursor(tbuffer, &iter); + gtk_text_view_scroll_to_mark(GTK_TEXT_VIEW(tmp), mark, + 0, FALSE, 0, 0); } #else if(tmp && GTK_IS_TEXT(tmp))