From 012dc10204897ff9242a191d950bff0f4c14efd0 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sun, 21 Apr 2024 00:31:46 -0500 Subject: [PATCH] Update map widget when modifiers are released after updating mouse coordinates --- scwx-qt/source/scwx/qt/map/map_widget.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/scwx-qt/source/scwx/qt/map/map_widget.cpp b/scwx-qt/source/scwx/qt/map/map_widget.cpp index 5d9be73f..07b4937d 100644 --- a/scwx-qt/source/scwx/qt/map/map_widget.cpp +++ b/scwx-qt/source/scwx/qt/map/map_widget.cpp @@ -224,6 +224,9 @@ public: const MapStyle* currentStyle_; std::string initialStyleName_ {}; + Qt::KeyboardModifiers lastKeyboardModifiers_ { + Qt::KeyboardModifier::NoModifier}; + std::shared_ptr pickedEventHandler_ {nullptr}; uint64_t frameDraws_; @@ -946,11 +949,15 @@ void MapWidget::UpdateMouseCoordinate(const common::Coordinate& coordinate) { p->context_->set_mouse_coordinate(coordinate); - if (QGuiApplication::keyboardModifiers() != - Qt::KeyboardModifier::NoModifier) + auto keyboardModifiers = QGuiApplication::keyboardModifiers(); + + if (keyboardModifiers != Qt::KeyboardModifier::NoModifier || + keyboardModifiers != p->lastKeyboardModifiers_) { update(); } + + p->lastKeyboardModifiers_ = keyboardModifiers; } }