Revert "Don't attach menu callback to QAction lifetime."

This reverts commit 4093d6605a.
This commit is contained in:
John Preston 2022-04-25 15:46:52 +04:00
parent f128bd6d50
commit 2d7532bddd

View file

@ -6,9 +6,6 @@
//
#include "ui/widgets/menu/menu_common.h"
#include "ui/ui_utility.h"
#include "base/invoke_queued.h"
#include <QAction>
namespace Ui::Menu {
@ -18,11 +15,12 @@ not_null<QAction*> CreateAction(
const QString &text,
Fn<void()> &&callback) {
const auto action = new QAction(text, parent);
const auto guard = MakeWeak(parent);
auto triggered = [guard, callback = std::move(callback)]() mutable {
InvokeQueued(guard, std::move(callback));
};
parent->connect(action, &QAction::triggered, std::move(triggered));
parent->connect(
action,
&QAction::triggered,
action,
std::move(callback),
Qt::QueuedConnection);
return action;
}