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

View file

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

View file

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