From 39780f49bf62a19324a6277ace518872b74c7bf0 Mon Sep 17 00:00:00 2001
From: John Preston <johnprestonmail@gmail.com>
Date: Sun, 17 Nov 2024 23:00:46 +0400
Subject: [PATCH] Fix folder context menu Remove text color.

---
 .../SourceFiles/window/window_filters_menu.cpp | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/Telegram/SourceFiles/window/window_filters_menu.cpp b/Telegram/SourceFiles/window/window_filters_menu.cpp
index f32608d1c..f3e07eea9 100644
--- a/Telegram/SourceFiles/window/window_filters_menu.cpp
+++ b/Telegram/SourceFiles/window/window_filters_menu.cpp
@@ -23,6 +23,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
 #include "ui/filter_icons.h"
 #include "ui/wrap/vertical_layout.h"
 #include "ui/wrap/vertical_layout_reorder.h"
+#include "ui/widgets/menu/menu_add_action_callback_factory.h"
 #include "ui/widgets/popup_menu.h"
 #include "ui/boxes/confirm_box.h"
 #include "ui/ui_utility.h"
@@ -356,18 +357,11 @@ void FiltersMenu::showMenu(QPoint position, FilterId id) {
 	_popupMenu = base::make_unique_q<Ui::PopupMenu>(
 		i->second.get(),
 		st::popupMenuWithIcons);
-	const auto addAction = Window::PeerMenuCallback([&](
-			Window::PeerMenuCallback::Args args) {
-		return _popupMenu->addAction(
-			args.text,
-			crl::guard(&_outer, std::move(args.handler)),
-			args.icon);
-	});
-
+	const auto addAction = Ui::Menu::CreateAddActionCallback(_popupMenu);
 	if (id) {
 		addAction(
 			tr::lng_filters_context_edit(tr::now),
-			[=] { EditExistingFilter(_session, id); },
+			crl::guard(&_outer, [=] { EditExistingFilter(_session, id); }),
 			&st::menuIconEdit);
 
 		auto filteredChats = [=] {
@@ -380,9 +374,9 @@ void FiltersMenu::showMenu(QPoint position, FilterId id) {
 
 		addAction({
 			.text = tr::lng_filters_context_remove(tr::now),
-			.handler = [=, this] {
+			.handler = crl::guard(&_outer, [=, this] {
 				_removeApi.request(Ui::MakeWeak(&_outer), _session, id);
-			},
+			}),
 			.icon = &st::menuIconDeleteAttention,
 			.isAttention = true,
 		});
@@ -401,7 +395,7 @@ void FiltersMenu::showMenu(QPoint position, FilterId id) {
 
 		addAction(
 			tr::lng_filters_setup_menu(tr::now),
-			[=] { openFiltersSettings(); },
+			crl::guard(&_outer, [=] { openFiltersSettings(); }),
 			&st::menuIconEdit);
 	}
 	if (_popupMenu->empty()) {