From 3f79ccbcafb82329eee99a16c4f6da58c306e38c Mon Sep 17 00:00:00 2001
From: AlexeyZavar <sltkval1@gmail.com>
Date: Fri, 19 Apr 2024 01:45:11 +0300
Subject: [PATCH] fix: don't select filtered messages

---
 Telegram/SourceFiles/history/history_inner_widget.cpp     | 6 +++++-
 .../SourceFiles/history/view/history_view_list_widget.cpp | 8 ++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/Telegram/SourceFiles/history/history_inner_widget.cpp b/Telegram/SourceFiles/history/history_inner_widget.cpp
index 4a91f933e..7a77acc57 100644
--- a/Telegram/SourceFiles/history/history_inner_widget.cpp
+++ b/Telegram/SourceFiles/history/history_inner_widget.cpp
@@ -90,7 +90,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
 
 // AyuGram includes
 #include "ayu/ui/context_menu/context_menu.h"
-#include "styles/style_ayu_icons.h"
+#include "ayu/utils/telegram_helpers.h"
 
 
 namespace {
@@ -4157,6 +4157,10 @@ bool HistoryInner::goodForSelection(
 		not_null<SelectedItems*> toItems,
 		not_null<HistoryItem*> item,
 		int &totalCount) const {
+	if (isMessageHidden(item)) {
+		return false;
+	}
+
 	if (!item->isRegular() || item->isService()) {
 		return false;
 	} else if (toItems->find(item) == toItems->end()) {
diff --git a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp
index 03b5466e3..69963f32d 100644
--- a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp
+++ b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp
@@ -74,6 +74,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
 #include <QtWidgets/QApplication>
 #include <QtCore/QMimeData>
 
+// AyuGram includes
+#include "ayu/utils/telegram_helpers.h"
+
+
 namespace HistoryView {
 namespace {
 
@@ -1187,6 +1191,10 @@ bool ListWidget::isGoodForSelection(
 bool ListWidget::addToSelection(
 		SelectedMap &applyTo,
 		not_null<HistoryItem*> item) const {
+	if (isMessageHidden(item)) {
+		return false;
+	}
+
 	const auto itemId = item->fullId();
 	auto [iterator, ok] = applyTo.try_emplace(
 		itemId,