diff --git a/src/lib_gui/qt/element/QtCodeArea.cpp b/src/lib_gui/qt/element/QtCodeArea.cpp index a238fa17..a7c08a63 100644 --- a/src/lib_gui/qt/element/QtCodeArea.cpp +++ b/src/lib_gui/qt/element/QtCodeArea.cpp @@ -755,7 +755,7 @@ void QtCodeArea::defocusTokenIds(const std::vector& tokenIds) { if (m_navigator->hasErrors() && tokenIds.size() == 1) { - QtCodeField::defocusTokenIds(tokenIds); + QtCodeField::defocusTokenIds(utility::toVector(m_navigator->getActiveLocalTokenIds())); return; } diff --git a/src/lib_gui/qt/element/QtCodeField.cpp b/src/lib_gui/qt/element/QtCodeField.cpp index 5364ecaa..ff3fa1aa 100644 --- a/src/lib_gui/qt/element/QtCodeField.cpp +++ b/src/lib_gui/qt/element/QtCodeField.cpp @@ -293,14 +293,14 @@ void QtCodeField::mouseReleaseEvent(QMouseEvent* event) activateAnnotations(annotations); } -void QtCodeField::focusTokenIds(const std::vector& tokenIds) +void QtCodeField::focusTokenIds(const std::vector& focusedTokenIds) { - annotateText(std::set(), std::set(), std::set(tokenIds.begin(), tokenIds.end())); + annotateText(std::set(), std::set(), std::set(focusedTokenIds.begin(), focusedTokenIds.end())); } -void QtCodeField::defocusTokenIds(const std::vector& tokenIds) +void QtCodeField::defocusTokenIds(const std::vector& activeTokenIds) { - annotateText(std::set(), std::set(), std::set()); + annotateText(std::set(activeTokenIds.begin(), activeTokenIds.end()), std::set(), std::set()); } bool QtCodeField::annotateText( @@ -513,13 +513,7 @@ void QtCodeField::setHoveredAnnotations(const std::vector& an { if (m_hoveredAnnotations.size()) { - std::vector tokenIds; - for (const Annotation* annotation : m_hoveredAnnotations) - { - tokenIds.insert(tokenIds.end(), annotation->tokenIds.begin(), annotation->tokenIds.end()); - } - - defocusTokenIds(tokenIds); + defocusTokenIds({}); } m_hoveredAnnotations = annotations;