--- libgig/trunk/src/Serialization.h 2017/05/09 16:32:07 3167 +++ libgig/trunk/src/Serialization.h 2017/05/09 19:12:32 3168 @@ -180,7 +180,8 @@ template struct Resolver { static UID resolve(const T& obj) { - return UID { (ID) &obj, sizeof(obj) }; + const UID uid = { (ID) &obj, sizeof(obj) }; + return uid; } }; @@ -188,7 +189,8 @@ template struct Resolver { static UID resolve(const T* const & obj) { - return UID { (ID) obj, sizeof(*obj) }; + const UID uid = { (ID) obj, sizeof(*obj) }; + return uid; } }; }; @@ -640,8 +642,12 @@ class UIDChainResolver { public: UIDChainResolver(const T*& data) { - m_uid.push_back(UID { &data, sizeof(data) }); - m_uid.push_back(UID { data, sizeof(*data) }); + const UID uids[2] = { + { &data, sizeof(data) }, + { data, sizeof(*data) } + }; + m_uid.push_back(uids[0]); + m_uid.push_back(uids[1]); } operator UIDChain() const { return m_uid; }