summaryrefslogtreecommitdiff
path: root/protocols/Telegram/src/utils.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2025-03-04 14:49:47 +0300
committerGeorge Hazan <george.hazan@gmail.com>2025-03-04 14:49:52 +0300
commit5a5b5a5faa718757312efa90c4f1c36e6475869c (patch)
tree965c803b5f87949866fa6856d5290b0e7dd904ef /protocols/Telegram/src/utils.cpp
parent3ae3be1b3377da5362160f0be149d3d0b5344097 (diff)
fixes #4907 (Telegram: при двойном форматировании исходящего текста делает перекрывающиеся теги)
Diffstat (limited to 'protocols/Telegram/src/utils.cpp')
-rw-r--r--protocols/Telegram/src/utils.cpp4
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)));
}
}