diff options
author | Olivier Goffart <ogoffart@trolltech.com> | 2010-03-25 19:27:05 (GMT) |
---|---|---|
committer | Olivier Goffart <ogoffart@trolltech.com> | 2010-03-25 19:27:05 (GMT) |
commit | 986873b239f15df43a3ebbc88a38f8ff8d6d07bf (patch) | |
tree | 946f585f390d3abb835a3280bbdc6bc90724977c /examples/script | |
parent | b7f48eee301e973fcfae08dfd8997538b6dbe251 (diff) | |
parent | 3671dbf34940e166b747b6f8f3f5758fd486073c (diff) | |
download | Qt-986873b239f15df43a3ebbc88a38f8ff8d6d07bf.zip Qt-986873b239f15df43a3ebbc88a38f8ff8d6d07bf.tar.gz Qt-986873b239f15df43a3ebbc88a38f8ff8d6d07bf.tar.bz2 |
Merge remote branch 'origin/4.7' into 4.7
Conflicts:
tools/qdoc3/generator.cpp
tools/qdoc3/node.cpp
Diffstat (limited to 'examples/script')
-rw-r--r-- | examples/script/customclass/bytearrayclass.cpp | 17 | ||||
-rw-r--r-- | examples/script/customclass/bytearrayclass.h | 2 |
2 files changed, 17 insertions, 2 deletions
diff --git a/examples/script/customclass/bytearrayclass.cpp b/examples/script/customclass/bytearrayclass.cpp index 1dbf2d4..239b4b4 100644 --- a/examples/script/customclass/bytearrayclass.cpp +++ b/examples/script/customclass/bytearrayclass.cpp @@ -148,13 +148,13 @@ void ByteArrayClass::setProperty(QScriptValue &object, if (!ba) return; if (name == length) { - ba->resize(value.toInt32()); + resize(*ba, value.toInt32()); } else { qint32 pos = id; if (pos < 0) return; if (ba->size() <= pos) - ba->resize(pos + 1); + resize(*ba, pos + 1); (*ba)[pos] = char(value.toInt32()); } } @@ -194,10 +194,13 @@ QScriptValue ByteArrayClass::constructor() return ctor; } +//! [10] QScriptValue ByteArrayClass::newInstance(int size) { + engine()->reportAdditionalMemoryCost(size); return newInstance(QByteArray(size, /*ch=*/0)); } +//! [10] //! [1] QScriptValue ByteArrayClass::newInstance(const QByteArray &ba) @@ -235,6 +238,16 @@ void ByteArrayClass::fromScriptValue(const QScriptValue &obj, QByteArray &ba) ba = qvariant_cast<QByteArray>(obj.data().toVariant()); } +//! [9] +void ByteArrayClass::resize(QByteArray &ba, int newSize) +{ + int oldSize = ba.size(); + ba.resize(newSize); + if (newSize > oldSize) + engine()->reportAdditionalMemoryCost(newSize - oldSize); +} +//! [9] + ByteArrayClassPropertyIterator::ByteArrayClassPropertyIterator(const QScriptValue &object) diff --git a/examples/script/customclass/bytearrayclass.h b/examples/script/customclass/bytearrayclass.h index f185754..3f7ce22 100644 --- a/examples/script/customclass/bytearrayclass.h +++ b/examples/script/customclass/bytearrayclass.h @@ -82,6 +82,8 @@ private: static QScriptValue toScriptValue(QScriptEngine *eng, const QByteArray &ba); static void fromScriptValue(const QScriptValue &obj, QByteArray &ba); + void resize(QByteArray &ba, int newSize); + QScriptString length; QScriptValue proto; QScriptValue ctor; |