From 9af7d4ad06f44d17cee72559b973ee9336e98487 Mon Sep 17 00:00:00 2001 From: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> Date: Sat, 11 Jan 2020 16:41:20 +0100 Subject: [PATCH] Fix crash on startup when no users configured Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com> --- src/gui/tray/UserModel.cpp | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/src/gui/tray/UserModel.cpp b/src/gui/tray/UserModel.cpp index 1a72a3eab..8a14fc1b2 100644 --- a/src/gui/tray/UserModel.cpp +++ b/src/gui/tray/UserModel.cpp @@ -167,7 +167,17 @@ Q_INVOKABLE bool UserModel::isCurrentUserConnected() Q_INVOKABLE QImage UserModel::currentUserAvatar() { - return _users[_currentUserId].avatar(); + if (_users.count() >= 1) { + return _users[_currentUserId].avatar(); + } else { + QImage image(128, 128, QImage::Format_ARGB32); + image.fill(Qt::GlobalColor::transparent); + QPainter painter(&image); + QSvgRenderer renderer(QString(":/client/theme/white/user.svg")); + renderer.render(&painter); + + return image; + } } QImage UserModel::avatarById(const int &id) @@ -177,17 +187,29 @@ QImage UserModel::avatarById(const int &id) Q_INVOKABLE QString UserModel::currentUserName() { - return _users[_currentUserId].name(); + if (_users.count() >= 1) { + return _users[_currentUserId].name(); + } else { + return QString("No users"); + } } Q_INVOKABLE QString UserModel::currentUserServer() { - return _users[_currentUserId].server(); + if (_users.count() >= 1) { + return _users[_currentUserId].server(); + } else { + return QString(""); + } } Q_INVOKABLE bool UserModel::currentServerHasTalk() { - return _users[_currentUserId].serverHasTalk(); + if (_users.count() >= 1) { + return _users[_currentUserId].serverHasTalk(); + } else { + return false; + } } void UserModel::addUser(AccountStatePtr &user, const bool &isCurrent) -- 2.30.2