Showing the changes to libraries/script-engine/src/ArrayBufferClass.cpp (1 of 4 files). Show all
Unified · Split
| @@ -42,7 +42,7 @@ ArrayBufferClass::ArrayBufferClass(QScriptEngine* engine) : QObject(engine), QSc · 41 unmodified lines | |||
| 42 | engine->globalObject().setProperty(name(), _ctor); | 42 | engine->globalObject().setProperty(name(), _ctor); |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | QScriptValue ArrayBufferClass::newInstance(unsigned long size) { | 45 | QScriptValue ArrayBufferClass::newInstance(quint32 size) { |
| 46 | engine()->reportAdditionalMemoryCost(size); | 46 | engine()->reportAdditionalMemoryCost(size); |
| 47 | QScriptValue data = engine()->newVariant(QVariant::fromValue(QByteArray(size, 0))); | 47 | QScriptValue data = engine()->newVariant(QVariant::fromValue(QByteArray(size, 0))); |
| 48 | return engine()->newObject(this, data); | 48 | return engine()->newObject(this, data); |
| @@ -60,7 +60,12 @@ QScriptValue ArrayBufferClass::construct(QScriptContext* context, QScriptEngine* · 11 unmodified lines | |||
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | QScriptValue arg = context->argument(0); | 62 | QScriptValue arg = context->argument(0); |
| 63 | unsigned long size = arg.toInt32(); | 63 | |
| 64 | if (!arg.isValid() || !arg.isNumber()) { | ||
| 65 | return QScriptValue(); | ||
| 66 | } | ||
| 67 | |||
| 68 | quint32 size = arg.toInt32(); | ||
| 64 | QScriptValue newObject = cls->newInstance(size); | 69 | QScriptValue newObject = cls->newInstance(size); |
| 65 | 70 | ||
| 66 | if (context->isCalledAsConstructor()) { | 71 | if (context->isCalledAsConstructor()) { |