From 0303f18ac6102e8b22ad58b69bd75ccd1c4e0644 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 15 Aug 2017 18:16:46 +0300 Subject: [PATCH] Fix check for _mouseSelection flag in dialogs. Fixes #3781. --- Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp | 8 +++++--- Telegram/SourceFiles/dialogs/dialogs_inner_widget.h | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp index 722e04cb0..723d8fb15 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp @@ -472,9 +472,11 @@ void DialogsInner::activate() { } void DialogsInner::mouseMoveEvent(QMouseEvent *e) { - auto position = e->pos(); - _mouseSelection = true; - updateSelected(position); + if (_mouseLastGlobalPosition != e->globalPos()) { + _mouseLastGlobalPosition = e->globalPos(); + _mouseSelection = true; + } + updateSelected(e->pos()); } void DialogsInner::clearIrrelevantState() { diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h index 7e679edd2..3b4531d41 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h @@ -223,6 +223,7 @@ private: DialogsList _contacts; bool _mouseSelection = false; + QPoint _mouseLastGlobalPosition; Qt::MouseButton _pressButton = Qt::LeftButton; std::unique_ptr _importantSwitch;