mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 21: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();
|
||||
}
|
||||
|
||||
// TODO deal with out of range/not found
|
||||
const types::MarkerInfo& MarkerManager::get_marker(size_t index)
|
||||
std::optional<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];
|
||||
return markerRecord->toMarkerInfo();
|
||||
}
|
||||
|
||||
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];
|
||||
markerRecord->markerInfo_ = marker;
|
||||
Q_EMIT MarkersUpdated();
|
||||
|
|
@ -241,7 +248,7 @@ void MarkerManager::move_marker(size_t from, size_t to)
|
|||
{
|
||||
return;
|
||||
}
|
||||
std::shared_ptr<MarkerManager::Impl::MarkerRecord> markerRecord =
|
||||
std::shared_ptr<MarkerManager::Impl::MarkerRecord>& markerRecord =
|
||||
p->markerRecords_[from];
|
||||
|
||||
if (from == to) {}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue