diff --git a/src/blackmisc/blackmiscfreefunctions.cpp b/src/blackmisc/blackmiscfreefunctions.cpp index c940ec74c..50de5d380 100644 --- a/src/blackmisc/blackmiscfreefunctions.cpp +++ b/src/blackmisc/blackmiscfreefunctions.cpp @@ -321,6 +321,30 @@ uint BlackMisc::calculateHash(const QList &values, const char *className) return hash; } +/* + * Add hash values + */ +uint BlackMisc::calculateHash(const QList &values, const char *className) +{ + QList list; + uint s = 0; + foreach(int i, values) + { + + if (i >= 0) + { + list.append(static_cast(i)); + } + else + { + list.append(static_cast(i)); + list.append(s++); + } + } + return calculateHash(list, className); +} + + /* * Fix QVariant if it comes from DBus and contains QDBusArgument */ diff --git a/src/blackmisc/blackmiscfreefunctions.h b/src/blackmisc/blackmiscfreefunctions.h index 808cdba20..ce1fc0827 100644 --- a/src/blackmisc/blackmiscfreefunctions.h +++ b/src/blackmisc/blackmiscfreefunctions.h @@ -141,6 +141,9 @@ namespace BlackMisc */ uint calculateHash(const QList &values, const char *className); + //! Hash value, but with int list + uint calculateHash(const QList &values, const char *className); + //! Real heap size of an object size_t heapSizeOf(const QMetaType &type);