diff options
author | rubidium <rubidium@openttd.org> | 2009-02-06 18:00:05 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-02-06 18:00:05 +0000 |
commit | 9f1a20a2be8b36023bdd10a638f7075d1f5e7970 (patch) | |
tree | 549f6eccba291590efb076d37b3aa5118c193086 /src/sortlist_type.h | |
parent | e85628702940989a8e53245ada5d16711a180fdc (diff) | |
download | openttd-9f1a20a2be8b36023bdd10a638f7075d1f5e7970.tar.xz |
(svn r15377) -Fix [FS#2607]: filter did resort when unneeded and didn't deselect properly in some cases (Roujin)
Diffstat (limited to 'src/sortlist_type.h')
-rw-r--r-- | src/sortlist_type.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/sortlist_type.h b/src/sortlist_type.h index ba9f8a8d2..29c7cc4c3 100644 --- a/src/sortlist_type.h +++ b/src/sortlist_type.h @@ -321,16 +321,18 @@ public: /* Do not filter if the filter bit is not set */ if (!HASBITS(this->flags, VL_FILTER)) return false; + bool changed = false; for (uint iter = 0; iter < this->items;) { T *item = &this->data[iter]; if (!decide(item, filter_data)) { this->Erase(item); + changed = true; } else { iter++; } } - return true; + return changed; } /** |