mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 16:30:05 +00:00
Add proper bounds checks and update usage of references in marker_manager.cpp
This commit is contained in:
parent
534b679d63
commit
250a535fc3
1 changed files with 12 additions and 5 deletions
|
|
@ -199,17 +199,24 @@ size_t MarkerManager::marker_count()
|
||||||
return p->markerRecords_.size();
|
return p->markerRecords_.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO deal with out of range/not found
|
std::optional<types::MarkerInfo> MarkerManager::get_marker(size_t index)
|
||||||
const types::MarkerInfo& MarkerManager::get_marker(size_t index)
|
|
||||||
{
|
{
|
||||||
std::shared_ptr<MarkerManager::Impl::MarkerRecord> markerRecord =
|
if (index >= p->markerRecords_.size())
|
||||||
|
{
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
std::shared_ptr<MarkerManager::Impl::MarkerRecord>& markerRecord =
|
||||||
p->markerRecords_[index];
|
p->markerRecords_[index];
|
||||||
return markerRecord->toMarkerInfo();
|
return markerRecord->toMarkerInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MarkerManager::set_marker(size_t index, const types::MarkerInfo& marker)
|
void MarkerManager::set_marker(size_t index, const types::MarkerInfo& marker)
|
||||||
{
|
{
|
||||||
std::shared_ptr<MarkerManager::Impl::MarkerRecord> markerRecord =
|
if (index >= p->markerRecords_.size())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
std::shared_ptr<MarkerManager::Impl::MarkerRecord>& markerRecord =
|
||||||
p->markerRecords_[index];
|
p->markerRecords_[index];
|
||||||
markerRecord->markerInfo_ = marker;
|
markerRecord->markerInfo_ = marker;
|
||||||
Q_EMIT MarkersUpdated();
|
Q_EMIT MarkersUpdated();
|
||||||
|
|
@ -241,7 +248,7 @@ void MarkerManager::move_marker(size_t from, size_t to)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
std::shared_ptr<MarkerManager::Impl::MarkerRecord> markerRecord =
|
std::shared_ptr<MarkerManager::Impl::MarkerRecord>& markerRecord =
|
||||||
p->markerRecords_[from];
|
p->markerRecords_[from];
|
||||||
|
|
||||||
if (from == to) {}
|
if (from == to) {}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue