From 1fd547bf0b6b1cad1314f71668c5efc066295613 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Sun, 13 Jun 2021 08:20:27 +0200 Subject: [PATCH] IPCCompiler: Avoid copies for IPC method return values Fixes #8017. --- Userland/DevTools/IPCCompiler/main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Userland/DevTools/IPCCompiler/main.cpp b/Userland/DevTools/IPCCompiler/main.cpp index 71a1041b1b..48a203a17b 100644 --- a/Userland/DevTools/IPCCompiler/main.cpp +++ b/Userland/DevTools/IPCCompiler/main.cpp @@ -446,6 +446,7 @@ public: parameter_generator.set("parameter.name", parameter.name); parameter_generator.append(R"~~~( const @parameter.type@& @parameter.name@() const { return m_@parameter.name@; } + @parameter.type@ take_@parameter.name@() { return move(m_@parameter.name@); } )~~~"); } @@ -571,7 +572,7 @@ public: } if (message.outputs.size() == 1) { - message_generator.append("->"); + message_generator.append("->take_"); message_generator.append(message.outputs[0].name); message_generator.append("()"); } else