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;