aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/lua
diff options
context:
space:
mode:
authorMarcus Tillmanns <marcus.tillmanns@qt.io>2024-04-23 14:15:05 +0200
committerMarcus Tillmanns <marcus.tillmanns@qt.io>2024-04-30 04:28:50 +0000
commit87193a0311730c0c1db52cbfdd1f5aa90d794117 (patch)
treea039f4463cbcf13ff22bf8eba195aad65181d07f /src/plugins/lua
parentacd0894d73992471f57fc94e354e0198c15a7c60 (diff)
Lua: Fix leaking Actions
Change-Id: Ia2fd5eecfd76491c34650817e09be11252be1dec Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Diffstat (limited to 'src/plugins/lua')
-rw-r--r--src/plugins/lua/bindings/action.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/lua/bindings/action.cpp b/src/plugins/lua/bindings/action.cpp
index 015dd9b0688..c8052a785f4 100644
--- a/src/plugins/lua/bindings/action.cpp
+++ b/src/plugins/lua/bindings/action.cpp
@@ -24,8 +24,9 @@ void addActionModule()
"CA_NonConfigurable",
Core::Command::CA_NonConfigurable);
- result["create"] = [](const std::string &actionId, const sol::table &options) {
- Core::ActionBuilder b(nullptr, Id::fromString(QString::fromStdString(actionId)));
+ result["create"] = [parent = std::make_unique<QObject>()](
+ const std::string &actionId, const sol::table &options) mutable {
+ Core::ActionBuilder b(parent.get(), Id::fromString(QString::fromStdString(actionId)));
for (const auto &[k, v] : options) {
QString key = k.as<QString>();