Revert "Don't attach menu callback to QAction lifetime."
This reverts commit 4093d6605a.
This commit is contained in:
parent
f128bd6d50
commit
2d7532bddd
1 changed files with 6 additions and 8 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue