diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2019-02-19 11:17:17 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2019-02-19 21:16:43 +0000 |
commit | 407e2769c7b7909fdb2979090e71fa636f109a04 (patch) | |
tree | bcefcc57667e46c4b4657778440abc729a545c4d /src/qml | |
parent | 56d6d905c23607a610b8af142016108063a48e3a (diff) |
Fix PropertyKey::isArrayIndex
PropertyKey::asArrayIndex has a hole at UINT_MAX, so make isArrayIndex
have the same hole.
Change-Id: I85d0f14680c27d018644056960d75d94aee68646
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml')
-rw-r--r-- | src/qml/jsruntime/qv4propertykey_p.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4propertykey_p.h b/src/qml/jsruntime/qv4propertykey_p.h index cb2661f244..47867765db 100644 --- a/src/qml/jsruntime/qv4propertykey_p.h +++ b/src/qml/jsruntime/qv4propertykey_p.h @@ -114,7 +114,7 @@ public: static PropertyKey fromArrayIndex(uint idx) { PropertyKey key; key.val = ArrayIndexMask | static_cast<quint64>(idx); return key; } bool isStringOrSymbol() const { return isManaged() && val != 0; } uint asArrayIndex() const { return (isManaged() || val == 0) ? std::numeric_limits<uint>::max() : static_cast<uint>(val & 0xffffffff); } - uint isArrayIndex() const { return !isManaged() && val != 0; } + uint isArrayIndex() const { return !isManaged() && val != 0 && static_cast<uint>(val & 0xffffffff) != std::numeric_limits<uint>::max(); } bool isValid() const { return val != 0; } static PropertyKey fromStringOrSymbol(Heap::StringOrSymbol *b) { PropertyKey key; key.setM(b); return key; } |