diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index fde81ba262..cf5fcf491c 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -6342,9 +6342,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