From e1534b34b4baffe3954fcce6814d20dbeeb48578 Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Tue, 4 Jun 2019 08:56:07 -0700 Subject: [PATCH] Workaround crash in reportAdditionalMemoryCost other platforms --- libraries/script-engine/src/ArrayBufferClass.cpp | 4 +++- libraries/script-engine/src/ScriptEngine.cpp | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libraries/script-engine/src/ArrayBufferClass.cpp b/libraries/script-engine/src/ArrayBufferClass.cpp index f64dbeffd6..6734114932 100644 --- a/libraries/script-engine/src/ArrayBufferClass.cpp +++ b/libraries/script-engine/src/ArrayBufferClass.cpp @@ -76,8 +76,10 @@ QScriptValue ArrayBufferClass::newInstance(qint32 size) { engine()->evaluate("throw \"ArgumentError: absurd length\""); return QScriptValue(); } - + // We've patched qt to fix https://highfidelity.atlassian.net/browse/BUGZ-46 on mac and windows only. +#if defined(Q_OS_WIN) || defined(Q_OS_MAC) engine()->reportAdditionalMemoryCost(size); +#endif QScriptEngine* eng = engine(); QVariant variant = QVariant::fromValue(QByteArray(size, 0)); QScriptValue data = eng->newVariant(variant); diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 309161206c..9d29f32931 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -1346,7 +1346,10 @@ void ScriptEngine::callAnimationStateHandler(QScriptValue callback, AnimVariantM void ScriptEngine::updateMemoryCost(const qint64& deltaSize) { if (deltaSize > 0) { + // We've patched qt to fix https://highfidelity.atlassian.net/browse/BUGZ-46 on mac and windows only. +#if defined(Q_OS_WIN) || defined(Q_OS_MAC) reportAdditionalMemoryCost(deltaSize); +#endif } }