History

Lambda conversion fix for windows

Atlante45 committed 11 years ago

Commit ea56f961 parent 1bebdc81 file · +7 −3Browse files

Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 1 file). Show all

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+7−3
@@ -509,18 +509,22 @@ void ScriptEngine::addEventHandler(const EntityItemID& entityID, const QString& · 508 unmodified lines
509509 });
510510
511511 // Two common cases of event handler, differing only in argument signature.
512− auto makeSingleEntityHandler = [&](QString eventName) {
512+ using SingleEntityHandler = std::function<void(const EntityItemID&)>;
513+ auto makeSingleEntityHandler = [this](QString eventName) -> SingleEntityHandler {
513514 return [this, eventName](const EntityItemID& entityItemID) {
514515 forwardHandlerCall(entityItemID, eventName, { entityItemID.toScriptValue(this) });
515516 };
516517 };
517− auto makeMouseHandler = [&](QString eventName) {
518+
519+ using MouseHandler = std::function<void(const EntityItemID&, const MouseEvent&)>;
520+ auto makeMouseHandler = [this](QString eventName) -> MouseHandler {
518521 return [this, eventName](const EntityItemID& entityItemID, const MouseEvent& event) {
519522 forwardHandlerCall(entityItemID, eventName, { entityItemID.toScriptValue(this), event.toScriptValue(this) });
520523 };
521524 };
522525
523− auto makeCollisionHandler = [&](QString eventName) {
526+ using CollisionHandler = std::function<void(const EntityItemID&, const EntityItemID&, const Collision&)>;
527+ auto makeCollisionHandler = [this](QString eventName) -> CollisionHandler {
524528 return [this, eventName](const EntityItemID& idA, const EntityItemID& idB, const Collision& collision) {
525529 forwardHandlerCall(idA, eventName, { idA.toScriptValue(this), idB.toScriptValue(this),
526530 collisionToScriptValue(this, collision) });