summaryrefslogtreecommitdiff
path: root/libedataserverui/e-name-selector-entry.c
diff options
context:
space:
mode:
Diffstat (limited to 'libedataserverui/e-name-selector-entry.c')
-rw-r--r--libedataserverui/e-name-selector-entry.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libedataserverui/e-name-selector-entry.c b/libedataserverui/e-name-selector-entry.c
index 3993b3e86..8e667b09c 100644
--- a/libedataserverui/e-name-selector-entry.c
+++ b/libedataserverui/e-name-selector-entry.c
@@ -790,7 +790,6 @@ type_ahead_complete (ENameSelectorEntry *name_selector_entry)
g_free (cue_str);
return;
}
- g_free (cue_str);
temp_str = sanitize_string (textrep);
g_free (textrep);
@@ -805,12 +804,19 @@ type_ahead_complete (ENameSelectorEntry *name_selector_entry)
destination_row_changed, name_selector_entry);
if (textrep_len > range_len) {
+ int i;
+
+ /* keep character's case as user types */
+ for (i = 0; textrep [i] && cue_str [i]; i++)
+ textrep [i] = cue_str [i];
+
gtk_editable_delete_text (GTK_EDITABLE (name_selector_entry), range_start, range_end);
gtk_editable_insert_text (GTK_EDITABLE (name_selector_entry), textrep, -1, &pos);
gtk_editable_select_region (GTK_EDITABLE (name_selector_entry), range_end,
range_start + textrep_len);
priv->is_completing = TRUE;
}
+ g_free (cue_str);
if (contact && destination) {
gint email_n = 0;