diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp index d038ece3c3..79054d0474 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp @@ -2387,7 +2387,7 @@ void InnerWidget::mousePressReleased( if (_chatPreviewScheduled) { _controller->cancelScheduledPreview(); } - _pressButton = Qt::NoButton; + const auto pressButton = base::take(_pressButton); const auto wasDragging = finishReorderOnRelease(); @@ -2420,7 +2420,10 @@ void InnerWidget::mousePressReleased( if (_pressedRightButtonData && _pressedRightButtonData->ripple) { _pressedRightButtonData->ripple->lastStop(); } - if (_activeQuickAction && pressed && !_activeQuickAction->data) { + if ((pressButton == Qt::MiddleButton) + && _activeQuickAction + && pressed + && !_activeQuickAction->data) { if (const auto history = pressed->history()) { const auto raw = _activeQuickAction.get(); if (raw->ripple) {