diff options
author | George Hazan <george.hazan@gmail.com> | 2025-03-04 14:49:47 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2025-03-04 14:49:52 +0300 |
commit | 5a5b5a5faa718757312efa90c4f1c36e6475869c (patch) | |
tree | 965c803b5f87949866fa6856d5290b0e7dd904ef /protocols/Telegram/src/utils.cpp | |
parent | 3ae3be1b3377da5362160f0be149d3d0b5344097 (diff) |
fixes #4907 (Telegram: при двойном форматировании исходящего текста делает перекрывающиеся теги)
Diffstat (limited to 'protocols/Telegram/src/utils.cpp')
-rw-r--r-- | protocols/Telegram/src/utils.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/protocols/Telegram/src/utils.cpp b/protocols/Telegram/src/utils.cpp index b1f98bb3f0..052fa9e413 100644 --- a/protocols/Telegram/src/utils.cpp +++ b/protocols/Telegram/src/utils.cpp @@ -75,6 +75,10 @@ TD::object_ptr<TD::formattedText> formatBbcodes(const char *pszText) case BBCODE::UNDERLINE: pNew = TD::make_object<TD::textEntityTypeUnderline>(); break;
}
+ for (auto &jt : res->entities_)
+ if (i1 >= jt->offset_ && i1 < jt->offset_ + jt->length_)
+ jt->length_ -= it.len1;
+
res->entities_.push_back(TD::make_object<TD::textEntity>(TD::int32(i1), TD::int32(i2 - i1), std::move(pNew)));
}
}
|