From d09f943e9a6cb563b479bef5a4e909fbae6b768f Mon Sep 17 00:00:00 2001 From: Shane Synan Date: Tue, 8 May 2018 18:24:38 -0500 Subject: [PATCH 1/1] Change Message::Flags/Type cast to Int, not UInt Use toInt() for casting `Message::Flags` and `Message::Type`, instead of toUint(). MSVC has trouble with uint-based enums, so Quassel switched to int enums. However, not all of the enum casts were converted, resulting in needless unsigned-to-signed casting. Thanks to @justJanne for reporting this. --- src/core/postgresqlstorage.cpp | 12 ++++++------ src/core/sqlitestorage.cpp | 12 ++++++------ src/qtui/chatlinemodelitem.cpp | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/core/postgresqlstorage.cpp b/src/core/postgresqlstorage.cpp index 48236bc0..cd6d7bf7 100644 --- a/src/core/postgresqlstorage.cpp +++ b/src/core/postgresqlstorage.cpp @@ -1801,13 +1801,13 @@ QList PostgreSqlStorage::requestMsgs(UserId user, BufferId bufferId, Ms timestamp.setTimeSpec(Qt::UTC); Message msg(timestamp, bufferInfo, - (Message::Type)query.value(2).toUInt(), + (Message::Type)query.value(2).toInt(), query.value(8).toString(), query.value(4).toString(), query.value(5).toString(), query.value(6).toString(), query.value(7).toString(), - (Message::Flags)query.value(3).toUInt()); + (Message::Flags)query.value(3).toInt()); msg.setMsgId(query.value(0).toLongLong()); messagelist << msg; } @@ -1865,7 +1865,7 @@ QList PostgreSqlStorage::requestMsgsFiltered(UserId user, BufferId buff timestamp.setTimeSpec(Qt::UTC); Message msg(timestamp, bufferInfo, - (Message::Type)query.value(2).toUInt(), + (Message::Type)query.value(2).toInt(), query.value(8).toString(), query.value(4).toString(), query.value(5).toString(), @@ -1920,13 +1920,13 @@ QList PostgreSqlStorage::requestAllMsgs(UserId user, MsgId first, MsgId timestamp.setTimeSpec(Qt::UTC); Message msg(timestamp, bufferInfoHash[query.value(1).toInt()], - (Message::Type)query.value(3).toUInt(), + (Message::Type)query.value(3).toInt(), query.value(9).toString(), query.value(5).toString(), query.value(6).toString(), query.value(7).toString(), query.value(8).toString(), - (Message::Flags)query.value(4).toUInt()); + (Message::Flags)query.value(4).toInt()); msg.setMsgId(query.value(0).toLongLong()); messagelist << msg; } @@ -1982,7 +1982,7 @@ QList PostgreSqlStorage::requestAllMsgsFiltered(UserId user, MsgId firs timestamp.setTimeSpec(Qt::UTC); Message msg(timestamp, bufferInfoHash[query.value(1).toInt()], - (Message::Type)query.value(3).toUInt(), + (Message::Type)query.value(3).toInt(), query.value(9).toString(), query.value(5).toString(), query.value(6).toString(), diff --git a/src/core/sqlitestorage.cpp b/src/core/sqlitestorage.cpp index e9882da3..f38a948c 100644 --- a/src/core/sqlitestorage.cpp +++ b/src/core/sqlitestorage.cpp @@ -1931,13 +1931,13 @@ QList SqliteStorage::requestMsgs(UserId user, BufferId bufferId, MsgId while (query.next()) { Message msg(QDateTime::fromTime_t(query.value(1).toInt()), bufferInfo, - (Message::Type)query.value(2).toUInt(), + (Message::Type)query.value(2).toInt(), query.value(8).toString(), query.value(4).toString(), query.value(5).toString(), query.value(6).toString(), query.value(7).toString(), - (Message::Flags)query.value(3).toUInt()); + (Message::Flags)query.value(3).toInt()); msg.setMsgId(query.value(0).toLongLong()); messagelist << msg; } @@ -2007,7 +2007,7 @@ QList SqliteStorage::requestMsgsFiltered(UserId user, BufferId bufferId while (query.next()) { Message msg(QDateTime::fromTime_t(query.value(1).toInt()), bufferInfo, - (Message::Type)query.value(2).toUInt(), + (Message::Type)query.value(2).toInt(), query.value(8).toString(), query.value(4).toString(), query.value(5).toString(), @@ -2064,13 +2064,13 @@ QList SqliteStorage::requestAllMsgs(UserId user, MsgId first, MsgId las while (query.next()) { Message msg(QDateTime::fromTime_t(query.value(2).toInt()), bufferInfoHash[query.value(1).toInt()], - (Message::Type)query.value(3).toUInt(), + (Message::Type)query.value(3).toInt(), query.value(9).toString(), query.value(5).toString(), query.value(6).toString(), query.value(7).toString(), query.value(8).toString(), - (Message::Flags)query.value(4).toUInt()); + (Message::Flags)query.value(4).toInt()); msg.setMsgId(query.value(0).toLongLong()); messagelist << msg; } @@ -2123,7 +2123,7 @@ QList SqliteStorage::requestAllMsgsFiltered(UserId user, MsgId first, M while (query.next()) { Message msg(QDateTime::fromTime_t(query.value(2).toInt()), bufferInfoHash[query.value(1).toInt()], - (Message::Type)query.value(3).toUInt(), + (Message::Type)query.value(3).toInt(), query.value(9).toString(), query.value(5).toString(), query.value(6).toString(), diff --git a/src/qtui/chatlinemodelitem.cpp b/src/qtui/chatlinemodelitem.cpp index f076d71a..fa0a103a 100644 --- a/src/qtui/chatlinemodelitem.cpp +++ b/src/qtui/chatlinemodelitem.cpp @@ -65,7 +65,7 @@ bool ChatLineModelItem::setData(int column, const QVariant &value, int role) { switch (role) { case MessageModel::FlagsRole: - _styledMsg.setFlags((Message::Flags)value.toUInt()); + _styledMsg.setFlags((Message::Flags)value.toInt()); return true; default: return MessageModelItem::setData(column, value, role); -- 2.20.1