Change Message::Flags/Type cast to Int, not UInt
authorShane Synan <digitalcircuit36939@gmail.com>
Tue, 8 May 2018 23:24:38 +0000 (18:24 -0500)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 23 May 2018 22:33:28 +0000 (00:33 +0200)
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
src/core/sqlitestorage.cpp
src/qtui/chatlinemodelitem.cpp

index 48236bc..cd6d7bf 100644 (file)
@@ -1801,13 +1801,13 @@ QList<Message> 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<Message> 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<Message> 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<Message> 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(),
index e9882da..f38a948 100644 (file)
@@ -1931,13 +1931,13 @@ QList<Message> 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<Message> 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<Message> 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<Message> 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(),
index f076d71..fa0a103 100644 (file)
@@ -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);