3 files changed, 6 insertions, 5 deletions
diff --git a/src/Cache.cpp b/src/Cache.cpp
index 3ef3ca07..fb2ded7d 100644
--- a/src/Cache.cpp
+++ b/src/Cache.cpp
@@ -1423,7 +1423,8 @@ Cache::getRoomAvatarUrl(lmdb::txn &txn,
StateEvent<Avatar> msg =
json::parse(std::string(event.data(), event.size()));
- return QString::fromStdString(msg.content.url);
+ if (!msg.content.url.empty())
+ return QString::fromStdString(msg.content.url);
} catch (const json::exception &e) {
nhlog::db()->warn("failed to parse m.room.avatar event: {}", e.what());
}
diff --git a/src/RoomInfoListItem.cpp b/src/RoomInfoListItem.cpp
index cc5f5776..11818649 100644
--- a/src/RoomInfoListItem.cpp
+++ b/src/RoomInfoListItem.cpp
@@ -419,7 +419,10 @@ RoomInfoListItem::mousePressEvent(QMouseEvent *event)
void
RoomInfoListItem::setAvatar(const QString &avatar_url)
{
- avatar_->setImage(avatar_url);
+ if (avatar_url.isEmpty())
+ avatar_->setLetter(utils::firstChar(roomName_));
+ else
+ avatar_->setImage(avatar_url);
}
void
diff --git a/src/RoomList.cpp b/src/RoomList.cpp
index 1c7c340d..764fabb4 100644
--- a/src/RoomList.cpp
+++ b/src/RoomList.cpp
@@ -94,9 +94,6 @@ RoomList::addRoom(const QString &room_id, const RoomInfo &info)
void
RoomList::updateAvatar(const QString &room_id, const QString &url)
{
- if (url.isEmpty())
- return;
-
emit updateRoomAvatarCb(room_id, url);
}
|