mirror of https://github.com/OpenTTD/OpenTTD.git
Codechange: [Script] Improve copying a list into another empty list.
This commit is contained in:
parent
e45bccb833
commit
1f1345de09
|
@ -557,10 +557,17 @@ void ScriptList::AddList(ScriptList *list)
|
|||
{
|
||||
if (list == this) return;
|
||||
|
||||
ScriptListMap *list_items = &list->items;
|
||||
for (ScriptListMap::iterator iter = list_items->begin(); iter != list_items->end(); iter++) {
|
||||
this->AddItem((*iter).first);
|
||||
this->SetValue((*iter).first, (*iter).second);
|
||||
if (this->IsEmpty()) {
|
||||
/* If this is empty, we can just take the items of the other list as is. */
|
||||
this->items = list->items;
|
||||
this->buckets = list->buckets;
|
||||
this->modifications++;
|
||||
} else {
|
||||
ScriptListMap *list_items = &list->items;
|
||||
for (ScriptListMap::iterator iter = list_items->begin(); iter != list_items->end(); iter++) {
|
||||
this->AddItem((*iter).first);
|
||||
this->SetValue((*iter).first, (*iter).second);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue