Fix GCC 15 -Wdangling-pointer

This commit is contained in:
Ilya Fedin
2026-03-03 06:03:32 +00:00
committed by John Preston
parent de4d55e06a
commit ca0c9ab659
3 changed files with 40 additions and 24 deletions
@@ -2285,11 +2285,13 @@ void Controller::saveUsernamesOrder() {
_api.request(MTPchannels_DeactivateAllUsernames(
channel->inputChannel()
)).done([=] {
channel->setUsernames(channel->editableUsername().isEmpty()
? Data::Usernames()
: Data::Usernames{
if (channel->editableUsername().isEmpty()) {
channel->setUsernames({});
} else {
channel->setUsernames({
{ channel->editableUsername(), true, true }
});
}
continueSave();
}).send();
} else {
+16 -12
View File
@@ -748,12 +748,14 @@ not_null<UserData*> Session::processUser(const MTPUser &data) {
status = data.vstatus();
if (!minimal) {
const auto newUsername = uname;
const auto newUsernames = data.vusernames()
? Api::Usernames::FromTL(*data.vusernames())
: !newUsername.isEmpty()
? Data::Usernames{{ newUsername, true, true }}
: Data::Usernames();
result->setUsernames(newUsernames);
if (data.vusernames()) {
result->setUsernames(
Api::Usernames::FromTL(*data.vusernames()));
} else if (!newUsername.isEmpty()) {
result->setUsernames({{ newUsername, true, true }});
} else {
result->setUsernames({});
}
}
}
if (const auto &status = data.vemoji_status()) {
@@ -957,15 +959,17 @@ not_null<PeerData*> Session::processChat(const MTPChat &data) {
{
const auto newUsername = qs(data.vusername().value_or_empty());
const auto newUsernames = data.vusernames()
? Api::Usernames::FromTL(*data.vusernames())
: !newUsername.isEmpty()
? Data::Usernames{ Data::Username{ newUsername, true, true } }
: Data::Usernames();
channel->setName(
qs(data.vtitle()),
TextUtilities::SingleLine(newUsername));
channel->setUsernames(newUsernames);
if (data.vusernames()) {
channel->setUsernames(
Api::Usernames::FromTL(*data.vusernames()));
} else if (!newUsername.isEmpty()) {
channel->setUsernames({ { newUsername, true, true } });
} else {
channel->setUsernames({});
}
}
const auto hasUsername = !channel->username().isEmpty();
+19 -9
View File
@@ -460,9 +460,13 @@ QByteArray Parser::block(const MTPDpageBlockList &data) {
QByteArray Parser::block(const MTPDpageBlockBlockquote &data) {
const auto caption = rich(data.vcaption());
const auto cite = caption.isEmpty()
? QByteArray()
: tag("cite", { { "dir", "auto" } }, caption);
const auto cite = [&] {
if (caption.isEmpty()) {
return QByteArray();
} else {
return tag("cite", { { "dir", "auto" } }, caption);
}
}();
return tag("blockquote", {
{ "dir", "auto" }
}, rich(data.vtext()) + cite);
@@ -470,9 +474,13 @@ QByteArray Parser::block(const MTPDpageBlockBlockquote &data) {
QByteArray Parser::block(const MTPDpageBlockPullquote &data) {
const auto caption = rich(data.vcaption());
const auto cite = caption.isEmpty()
? QByteArray()
: tag("cite", { { "dir", "auto" } }, caption);
const auto cite = [&] {
if (caption.isEmpty()) {
return QByteArray();
} else {
return tag("cite", { { "dir", "auto" } }, caption);
}
}();
return tag("div", {
{ "class", "pullquote" },
{ "dir", "auto" },
@@ -1084,12 +1092,14 @@ QByteArray Parser::rich(const MTPRichText &text) {
}, [&](const MTPDtextAnchor &data) {
const auto inner = rich(data.vtext());
const auto name = utf(data.vname());
return inner.isEmpty()
? tag("a", { { "name", name } })
: tag(
if (inner.isEmpty()) {
return tag("a", { { "name", name } });
} else {
return tag(
"span",
{ { "class", "reference" } },
tag("a", { { "name", name } }) + inner);
}
});
}