diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 039ab8a19b..a8755c362c 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -434,16 +434,16 @@ void ScriptEngine::addEventHandler(const EntityItemID& entityID, const QString& }); // Two common cases of event handler, differing only in argument signature. - auto makeSingleEntityHandler = [=](const QString& eventName) { - return [=](const EntityItemID& entityItemID) { - generalHandler(entityItemID, eventName, [=]() { + auto makeSingleEntityHandler = [=](const QString& eventName) -> std::function { + return [=](const EntityItemID& entityItemID) -> void { + generalHandler(entityItemID, eventName, [=]() -> QScriptValueList { return QScriptValueList() << entityItemID.toScriptValue(this); }); }; }; - auto makeMouseHandler = [=](const QString& eventName) { - return [=](const EntityItemID& entityItemID, const MouseEvent& event) { - generalHandler(entityItemID, eventName, [=]() { + auto makeMouseHandler = [=](const QString& eventName) -> std::function { + return [=](const EntityItemID& entityItemID, const MouseEvent& event) -> void { + generalHandler(entityItemID, eventName, [=]() -> QScriptValueList { return QScriptValueList() << entityItemID.toScriptValue(this) << event.toScriptValue(this); }); };