Skip to content

Commit

Permalink
Revert "ControllerScriptEngineBase::executeFunction: Pass function as…
Browse files Browse the repository at this point in the history
… pointer"

This reverts commit 8e80cf1.
  • Loading branch information
Swiftb0y committed Jul 7, 2023
1 parent 3081a0d commit 5081e07
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 14 deletions.
2 changes: 1 addition & 1 deletion src/controllers/midi/midicontroller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ void MidiController::processInputMapping(const MidiInputMapping& mapping,
status,
mapping.control.group,
};
if (!pEngine->executeFunction(&function, args)) {
if (!pEngine->executeFunction(function, args)) {
qCWarning(m_logBase) << "MidiController: Invalid script function"
<< mapping.control.item;
}
Expand Down
12 changes: 6 additions & 6 deletions src/controllers/scripting/controllerscriptenginebase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,28 +70,28 @@ void ControllerScriptEngineBase::reload() {
}

bool ControllerScriptEngineBase::executeFunction(
QJSValue* pFunctionObject, const QJSValueList& args) {
QJSValue functionObject, const QJSValueList& args) {
// This function is called from outside the controller engine, so we can't
// use VERIFY_OR_DEBUG_ASSERT here
if (!m_pJSEngine) {
return false;
}

if (pFunctionObject->isError()) {
if (functionObject.isError()) {
qDebug() << "ControllerScriptHandlerBase::executeFunction:"
<< pFunctionObject->toString();
<< functionObject.toString();
return false;
}

// If it's not a function, we're done.
if (!pFunctionObject->isCallable()) {
if (!functionObject.isCallable()) {
qDebug() << "ControllerScriptHandlerBase::executeFunction:"
<< pFunctionObject->toVariant() << "Not a function";
<< functionObject.toVariant() << "Not a function";
return false;
}

// If it does happen to be a function, call it.
QJSValue returnValue = pFunctionObject->call(args);
QJSValue returnValue = functionObject.call(args);
if (returnValue.isError()) {
showScriptExceptionDialog(returnValue);
return false;
Expand Down
2 changes: 1 addition & 1 deletion src/controllers/scripting/controllerscriptenginebase.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class ControllerScriptEngineBase : public QObject {

virtual bool initialize();

bool executeFunction(QJSValue* pFunctionObject, const QJSValueList& arguments = {});
bool executeFunction(QJSValue functionObject, const QJSValueList& arguments = {});

/// Shows a UI dialog notifying of a script evaluation error.
/// Precondition: QJSValue.isError() == true
Expand Down
4 changes: 2 additions & 2 deletions src/controllers/scripting/controllerscriptmoduleengine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ bool ControllerScriptModuleEngine::initialize() {
}

QJSValue initFunction = mod.property("init");
if (!executeFunction(&initFunction)) {
if (!executeFunction(initFunction)) {
shutdown();
return false;
}
Expand All @@ -47,6 +47,6 @@ bool ControllerScriptModuleEngine::initialize() {
}

void ControllerScriptModuleEngine::shutdown() {
executeFunction(&m_shutdownFunction);
executeFunction(m_shutdownFunction);
ControllerScriptEngineBase::shutdown();
}
Original file line number Diff line number Diff line change
Expand Up @@ -192,8 +192,8 @@ bool ControllerScriptEngineLegacy::handleIncomingData(const QByteArray& data) {
static_cast<uint>(data.size()),
};

for (auto&& function : m_incomingDataFunctions) {
ControllerScriptEngineBase::executeFunction(&function, args);
for (const QJSValue& function : std::as_const(m_incomingDataFunctions)) {
ControllerScriptEngineBase::executeFunction(function, args);
}

return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -541,12 +541,12 @@ void ControllerScriptInterfaceLegacy::timerEvent(QTimerEvent* event) {
// why but this causes segfaults in ~QScriptValue while scratching if we
// don't copy here -- even though internalExecute passes the QScriptValues
// by value. *boggle*
TimerInfo timerTarget = it.value();
const TimerInfo timerTarget = it.value();
if (timerTarget.oneShot) {
stopTimer(timerId);
}

m_pScriptEngineLegacy->executeFunction(&timerTarget.callback);
m_pScriptEngineLegacy->executeFunction(timerTarget.callback);
}

void ControllerScriptInterfaceLegacy::softTakeover(
Expand Down

0 comments on commit 5081e07

Please sign in to comment.