X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcoresessioneventprocessor.cpp;h=8968cd5e59c844de28350e320ff0b6cc45232afe;hb=6a63070246d89aa2a2474e3a9a1035fa889ad77e;hp=ec87569031bd364d33f064bb8175c2ff5ecd1881;hpb=9ba2ca5186c8598e33910a7df95bbdbf812a1a3d;p=quassel.git diff --git a/src/core/coresessioneventprocessor.cpp b/src/core/coresessioneventprocessor.cpp index ec875690..8968cd5e 100644 --- a/src/core/coresessioneventprocessor.cpp +++ b/src/core/coresessioneventprocessor.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2016 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -959,8 +959,18 @@ void CoreSessionEventProcessor::processIrcEvent317(IrcEvent *e) int idleSecs = e->params()[1].toInt(); if (e->params().count() > 3) { // if we have more then 3 params we have the above mentioned "real life" situation - int logintime = e->params()[2].toInt(); - loginTime = QDateTime::fromTime_t(logintime); + // Allow for 64-bit time + qint64 logintime = e->params()[2].toLongLong(); + // Time in IRC protocol is defined as seconds. Convert from seconds instead. + // See https://doc.qt.io/qt-5/qdatetime.html#fromSecsSinceEpoch +#if QT_VERSION >= 0x050800 + loginTime = QDateTime::fromSecsSinceEpoch(logintime); +#else + // fromSecsSinceEpoch() was added in Qt 5.8. Manually downconvert to seconds for + // now. + // See https://doc.qt.io/qt-5/qdatetime.html#fromMSecsSinceEpoch + loginTime = QDateTime::fromMSecsSinceEpoch((qint64)(logintime * 1000)); +#endif } IrcUser *ircuser = e->network()->ircUser(e->params()[0]); @@ -1550,6 +1560,6 @@ void CoreSessionEventProcessor::handleCtcpTime(CtcpEvent *e) void CoreSessionEventProcessor::handleCtcpVersion(CtcpEvent *e) { - e->setReply(QString("Quassel IRC %1 (built on %2) -- http://www.quassel-irc.org") + e->setReply(QString("Quassel IRC %1 (built on %2) -- https://www.quassel-irc.org") .arg(Quassel::buildInfo().plainVersionString).arg(Quassel::buildInfo().commitDate)); }