Remove unnecessary copy, and make callback argument const in geolines

This commit is contained in:
AdenKoperczak 2025-03-17 09:39:01 -04:00
parent 087f6ef310
commit fea9083f7d
3 changed files with 8 additions and 8 deletions

View file

@ -494,7 +494,7 @@ void GeoLines::Impl::UpdateModifiedLineBuffers()
for (auto& di : dirtyLines_) for (auto& di : dirtyLines_)
{ {
// Check if modified line is in the current list // Check if modified line is in the current list
if (currentLineList_.size() < di->lineIndex_ || if (di->lineIndex_ >= currentLineList_.size() ||
currentLineList_[di->lineIndex_] != di) currentLineList_[di->lineIndex_] != di)
{ {
continue; continue;
@ -799,8 +799,7 @@ bool GeoLines::RunMousePicking(
} }
else if (it->second.di_->hoverCallback_ != nullptr) else if (it->second.di_->hoverCallback_ != nullptr)
{ {
std::shared_ptr<GeoLineDrawItem> di = it->second.di_; it->second.di_->hoverCallback_(it->second.di_, mouseGlobalPos);
it->second.di_->hoverCallback_(di, mouseGlobalPos);
} }
if (it->second.di_->event_ != nullptr) if (it->second.di_->event_ != nullptr)

View file

@ -19,7 +19,7 @@ struct GeoLineDrawItem;
class GeoLines : public DrawItem class GeoLines : public DrawItem
{ {
public: public:
typedef std::function<void(std::shared_ptr<GeoLineDrawItem>&, typedef std::function<void(const std::shared_ptr<GeoLineDrawItem>&,
const QPointF&)> const QPointF&)>
HoverCallback; HoverCallback;

View file

@ -159,8 +159,9 @@ public:
void ConnectSignals(); void ConnectSignals();
void HandleGeoLinesEvent(std::weak_ptr<gl::draw::GeoLineDrawItem>& di, void HandleGeoLinesEvent(std::weak_ptr<gl::draw::GeoLineDrawItem>& di,
QEvent* ev); QEvent* ev);
void HandleGeoLinesHover(std::shared_ptr<gl::draw::GeoLineDrawItem>& di, void
const QPointF& mouseGlobalPos); HandleGeoLinesHover(const std::shared_ptr<gl::draw::GeoLineDrawItem>& di,
const QPointF& mouseGlobalPos);
void ScheduleRefresh(); void ScheduleRefresh();
LineData& GetLineData(const std::shared_ptr<const awips::Segment>& segment, LineData& GetLineData(const std::shared_ptr<const awips::Segment>& segment,
@ -720,8 +721,8 @@ void AlertLayer::Impl::HandleGeoLinesEvent(
} }
void AlertLayer::Impl::HandleGeoLinesHover( void AlertLayer::Impl::HandleGeoLinesHover(
std::shared_ptr<gl::draw::GeoLineDrawItem>& di, const std::shared_ptr<gl::draw::GeoLineDrawItem>& di,
const QPointF& mouseGlobalPos) const QPointF& mouseGlobalPos)
{ {
if (di != lastHoverDi_) if (di != lastHoverDi_)
{ {