summaryrefslogtreecommitdiffstats
path: root/src/verbs.cpp
diff options
context:
space:
mode:
authorPatrick Storz <eduard.braun2@gmx.de>2019-02-17 21:17:10 +0000
committerPatrick Storz <eduard.braun2@gmx.de>2019-02-17 21:18:00 +0000
commit80c0a04f5f93a5e758482ec425e7ba9555777b7c (patch)
treed97bdf82a1c16370eb6ca428981a05cf22183334 /src/verbs.cpp
parentUpdate Catalan translation (!506) (diff)
parentFix bounds check in sp_action_get_title! (diff)
downloadinkscape-80c0a04f5f93a5e758482ec425e7ba9555777b7c.tar.gz
inkscape-80c0a04f5f93a5e758482ec425e7ba9555777b7c.zip
Update sp_action_get_title to remove Unicode Character "…"
Diffstat (limited to 'src/verbs.cpp')
-rw-r--r--src/verbs.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/verbs.cpp b/src/verbs.cpp
index ad8f21787..5cebbfd6f 100644
--- a/src/verbs.cpp
+++ b/src/verbs.cpp
@@ -100,12 +100,16 @@ using Inkscape::UI::Dialog::ActionAlign;
gchar *sp_action_get_title(SPAction const *action)
{
char const *src = action->name;
- gchar *ret = g_new(gchar, strlen(src) + 1);
+ size_t const len = strlen(src);
+ gchar *ret = g_new(gchar, len + 1);
unsigned ri = 0;
for (unsigned si = 0 ; ; si++) {
int const c = src[si];
- if ( c != '_' && c != '.' ) {
+ // Ignore Unicode Character "…" (U+2026)
+ if ( c == '\xE2' && si + 2 < len && src[si+1] == '\x80' && src[si+2] == '\xA6' ) {
+ si += 2;
+ } else if ( c != '_' && c != '.' ) {
ret[ri] = c;
ri++;
if (c == '\0') {