From 0448023a0f2b05f8349b3ec6d88a83e59e1e0260 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Tue, 20 Dec 2016 14:14:28 -0800 Subject: [PATCH] better handle null senders, trim lines after 2000 --- libraries/script-engine/src/ScriptEngines.cpp | 15 ++++++++++----- scripts/developer/debugging/debugWindow.qml | 7 +++++++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/libraries/script-engine/src/ScriptEngines.cpp b/libraries/script-engine/src/ScriptEngines.cpp index 93c9823920..74acb2ae6a 100644 --- a/libraries/script-engine/src/ScriptEngines.cpp +++ b/libraries/script-engine/src/ScriptEngines.cpp @@ -34,27 +34,32 @@ ScriptsModel& getScriptsModel() { void ScriptEngines::onPrintedMessage(const QString& message) { auto scriptEngine = qobject_cast(sender()); - emit printedMessage(message, scriptEngine->getFilename()); + auto scriptName = scriptEngine ? scriptEngine->getFilename() : ""; + emit printedMessage(message, scriptName); } void ScriptEngines::onErrorMessage(const QString& message) { auto scriptEngine = qobject_cast(sender()); - emit errorMessage(message, scriptEngine->getFilename()); + auto scriptName = scriptEngine ? scriptEngine->getFilename() : ""; + emit errorMessage(message, scriptName); } void ScriptEngines::onWarningMessage(const QString& message) { auto scriptEngine = qobject_cast(sender()); - emit warningMessage(message, scriptEngine->getFilename()); + auto scriptName = scriptEngine ? scriptEngine->getFilename() : ""; + emit warningMessage(message, scriptName); } void ScriptEngines::onInfoMessage(const QString& message) { auto scriptEngine = qobject_cast(sender()); - emit infoMessage(message, scriptEngine->getFilename()); + auto scriptName = scriptEngine ? scriptEngine->getFilename() : ""; + emit infoMessage(message, scriptName); } void ScriptEngines::onErrorLoadingScript(const QString& url) { auto scriptEngine = qobject_cast(sender()); - emit errorLoadingScript(url, scriptEngine->getFilename()); + auto scriptName = scriptEngine ? scriptEngine->getFilename() : ""; + emit errorLoadingScript(url, scriptName); } ScriptEngines::ScriptEngines() diff --git a/scripts/developer/debugging/debugWindow.qml b/scripts/developer/debugging/debugWindow.qml index 1e012ade6b..f046a949ef 100644 --- a/scripts/developer/debugging/debugWindow.qml +++ b/scripts/developer/debugging/debugWindow.qml @@ -28,6 +28,13 @@ Rectangle { } function fromScript(message) { + var MAX_LINE_COUNT = 2000; + var TRIM_LINES = 500; + if (textArea.lineCount > MAX_LINE_COUNT) { + var lines = textArea.text.split('\n'); + lines.splice(0, TRIM_LINES); + textArea.text = lines.join('\n'); + } textArea.append(message); } }