mirror of https://github.com/OpenTTD/OpenTTD
Fix: do not let shares in the company taking over another company disappear
parent
4a309ebb4d
commit
b63b3082ef
|
@ -322,13 +322,13 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner)
|
||||||
|
|
||||||
/* Sell all the shares that people have on this company */
|
/* Sell all the shares that people have on this company */
|
||||||
Backup<CompanyID> cur_company2(_current_company, FILE_LINE);
|
Backup<CompanyID> cur_company2(_current_company, FILE_LINE);
|
||||||
const Company *c = Company::Get(old_owner);
|
Company *c = Company::Get(old_owner);
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
if (c->share_owners[i] == INVALID_OWNER) continue;
|
if (c->share_owners[i] == INVALID_OWNER) continue;
|
||||||
|
|
||||||
if (c->bankrupt_value == 0 && c->share_owners[i] == new_owner) {
|
if (c->bankrupt_value == 0 && c->share_owners[i] == new_owner) {
|
||||||
/* You are the one buying the company; so don't sell the shares back to you. */
|
/* You are the one buying the company; so don't sell the shares back to you. */
|
||||||
Company::Get(new_owner)->share_owners[i] = INVALID_OWNER;
|
c->share_owners[i] = INVALID_OWNER;
|
||||||
} else {
|
} else {
|
||||||
cur_company2.Change(c->share_owners[i]);
|
cur_company2.Change(c->share_owners[i]);
|
||||||
/* Sell the shares */
|
/* Sell the shares */
|
||||||
|
|
Loading…
Reference in New Issue