From adf39dd291b561681da0fd3346e782e6fb224abc Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 7 Mar 2014 01:19:50 +0100 Subject: [PATCH] entry: use priv->dnd_position when rendering the DND cursor This makes "cursor position" track the DnD point again, looks much more intuitive than just rendering it on the pre-DnD position. https://bugzilla.gnome.org/show_bug.cgi?id=725866 --- gtk/gtkentry.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index b74ea4e0ab..a433426067 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -6436,9 +6436,13 @@ gtk_entry_draw_cursor (GtkEntry *entry, layout = gtk_entry_ensure_layout (entry, TRUE); text = pango_layout_get_text (layout); - cursor_index = g_utf8_offset_to_pointer (text, priv->current_pos + priv->preedit_cursor) - text; get_layout_position (entry, &x, &y); + if (type == CURSOR_DND) + cursor_index = g_utf8_offset_to_pointer (text, priv->dnd_position) - text; + else + cursor_index = g_utf8_offset_to_pointer (text, priv->current_pos + priv->preedit_cursor) - text; + if (!priv->overwrite_mode) block = FALSE; else