summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Goffart <olivier.goffart@nokia.com>2010-05-28 12:41:27 (GMT)
committerOlivier Goffart <olivier.goffart@nokia.com>2010-05-28 13:46:03 (GMT)
commit881746fd74d475265e442a1dc02b32ddb6c2d898 (patch)
treeb4f6b9659a0c9cfc11fccf3eb4f622a6bf0d3c85
parent8e8844a1d3e9be22f84ef2b22312dd261a911092 (diff)
downloadQt-881746fd74d475265e442a1dc02b32ddb6c2d898.zip
Qt-881746fd74d475265e442a1dc02b32ddb6c2d898.tar.gz
Qt-881746fd74d475265e442a1dc02b32ddb6c2d898.tar.bz2
QMultiMap/QMultiHash: must qualify identifier to find this declaration in dependent base class
This is required as some compiler such as clang or rvct respect the standard more than gcc Reviewed-by: thiago Reviewed-by: hjk
-rw-r--r--src/corelib/tools/qhash.h9
-rw-r--r--src/corelib/tools/qmap.h9
2 files changed, 4 insertions, 14 deletions
diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h
index 05eae42..1d206ce 100644
--- a/src/corelib/tools/qhash.h
+++ b/src/corelib/tools/qhash.h
@@ -927,7 +927,7 @@ public:
{ return QHash<Key, T>::insertMulti(key, value); }
inline QMultiHash &operator+=(const QMultiHash &other)
- { unite(other); return *this; }
+ { this->unite(other); return *this; }
inline QMultiHash operator+(const QMultiHash &other) const
{ QMultiHash result = *this; result += other; return result; }
@@ -1002,12 +1002,7 @@ Q_INLINE_TEMPLATE int QMultiHash<Key, T>::remove(const Key &key, const T &value)
typename QHash<Key, T>::iterator end(QHash<Key, T>::end());
while (i != end && i.key() == key) {
if (i.value() == value) {
-#if defined(Q_CC_RVCT)
- // RVCT has problems with scoping, apparently.
- i = QHash<Key, T>::erase(i);
-#else
- i = erase(i);
-#endif
+ i = this->erase(i);
++n;
} else {
++i;
diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h
index 4679812..75e73f2 100644
--- a/src/corelib/tools/qmap.h
+++ b/src/corelib/tools/qmap.h
@@ -953,7 +953,7 @@ public:
{ return QMap<Key, T>::insertMulti(key, value); }
inline QMultiMap &operator+=(const QMultiMap &other)
- { unite(other); return *this; }
+ { this->unite(other); return *this; }
inline QMultiMap operator+(const QMultiMap &other) const
{ QMultiMap result = *this; result += other; return result; }
@@ -1028,12 +1028,7 @@ Q_INLINE_TEMPLATE int QMultiMap<Key, T>::remove(const Key &key, const T &value)
typename QMap<Key, T>::iterator end(QMap<Key, T>::end());
while (i != end && !qMapLessThanKey<Key>(key, i.key())) {
if (i.value() == value) {
-#if defined(Q_CC_RVCT)
- // RVCT has problems with scoping, apparently.
- i = QMap<Key, T>::erase(i);
-#else
- i = erase(i);
-#endif
+ i = this->erase(i);
++n;
} else {
++i;