diff --git a/src/core/preferences.cpp b/src/core/preferences.cpp index 2f0b690e3..4ede40b1c 100644 --- a/src/core/preferences.cpp +++ b/src/core/preferences.cpp @@ -63,6 +63,8 @@ Preferences::Preferences() , dirty(false) , lock(QReadWriteLock::Recursive) { + qRegisterMetaTypeStreamOperators("MaxRatioAction"); + QIniSettings *settings = new QIniSettings; #ifndef Q_OS_MAC QIniSettings *settings_new = new QIniSettings("qBittorrent", "qBittorrent_new"); diff --git a/src/core/types.h b/src/core/types.h index 92a24d0cf..746fd2f4b 100644 --- a/src/core/types.h +++ b/src/core/types.h @@ -30,6 +30,7 @@ #define TYPES_H #include +#include const qlonglong MAX_ETA = 8640000; @@ -55,4 +56,19 @@ enum class ShutdownAction Hibernate }; +template +inline QDataStream &operator<<(QDataStream &out, const T &val) +{ + return (out << static_cast(val)); +} + +template +inline QDataStream &operator>>(QDataStream &in, T &val) +{ + int tmp; + in >> tmp; + val = static_cast(tmp); + return in; +} + #endif // TYPES_H