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