diff --git a/Telegram/SourceFiles/history/history_inner_widget.cpp b/Telegram/SourceFiles/history/history_inner_widget.cpp index 22de853c0..cae2d2698 100644 --- a/Telegram/SourceFiles/history/history_inner_widget.cpp +++ b/Telegram/SourceFiles/history/history_inner_widget.cpp @@ -3657,12 +3657,14 @@ HistoryView::SelectionModeResult HistoryInner::inSelectionMode() const { const auto inSelectionMode = [&] { if (hasSelectedItems()) { return true; - } else if (_mouseAction == MouseAction::Selecting - && _dragSelFrom - && _dragSelTo) { + } + const auto isSelecting = _mouseAction == MouseAction::Selecting; + if (isSelecting && _dragSelFrom && _dragSelTo) { return true; } else if (_chooseForReportReason.has_value()) { return true; + } else if (_lastInSelectionMode && isSelecting) { + return true; } return false; }(); diff --git a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp index d300453f8..2e2c087b0 100644 --- a/Telegram/SourceFiles/history/view/history_view_list_widget.cpp +++ b/Telegram/SourceFiles/history/view/history_view_list_widget.cpp @@ -1230,7 +1230,9 @@ bool ListWidget::hasSelectedItems() const { } SelectionModeResult ListWidget::inSelectionMode() const { - const auto now = hasSelectedItems() || !_dragSelected.empty(); + const auto now = hasSelectedItems() + || !_dragSelected.empty() + || (_mouseAction == MouseAction::Selecting && _lastInSelectionMode); if (_lastInSelectionMode != now) { _lastInSelectionMode = now; if (_inSelectionModeAnimation.animating()) {