diff options
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r-- | src/QuickMedia.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp index 1f5e775..72df6eb 100644 --- a/src/QuickMedia.cpp +++ b/src/QuickMedia.cpp @@ -6001,11 +6001,11 @@ namespace QuickMedia { if(mention.visible) { BodyItem *selected_mention_item = tabs[USERS_TAB_INDEX].body->get_selected(); if(selected_mention_item) { - std::string str_to_append = selected_mention_item->get_description(); - if(!str_to_append.empty()) - str_to_append.erase(0, 1); + std::string str_to_append = Text::to_printable_string(selected_mention_item->get_description()); str_to_append += " "; - chat_input.replace(chat_input.get_caret_index() - mention.filter.size(), mention.filter.size(), str_to_append); + const int filter_size = (int)mention.filter.size() + 1; + int start_index = chat_input.get_caret_index() - filter_size; + chat_input.replace(std::max(0, start_index), filter_size, str_to_append); mention.hide(); } return false; |