Iterate backwards to pick the last valid list in select_link_list

This commit is contained in:
Thomas Goyne 2016-04-19 15:16:15 -07:00
parent 23c16f8e67
commit 66666a75b0
1 changed files with 7 additions and 5 deletions

View File

@ -464,11 +464,13 @@ public:
mark_dirty(row, col);
m_active = nullptr;
for (auto& o : m_info.lists) {
if (o.table_ndx == current_table() && o.row_ndx == row && o.col_ndx == col) {
m_active = o.changes;
// need to use last match for multiple source version logic
// break;
// When there are multiple source versions there could be multiple
// change objects for a single LinkView, in which case we need to use
// the last one
for (auto it = m_info.lists.rbegin(), end = m_info.lists.rend(); it != end; ++it) {
if (it->table_ndx == current_table() && it->row_ndx == row && it->col_ndx == col) {
m_active = it->changes;
break;
}
}
return true;