summaryrefslogtreecommitdiff
path: root/src/sortlist_type.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-02-06 18:00:05 +0000
committerrubidium <rubidium@openttd.org>2009-02-06 18:00:05 +0000
commit9f1a20a2be8b36023bdd10a638f7075d1f5e7970 (patch)
tree549f6eccba291590efb076d37b3aa5118c193086 /src/sortlist_type.h
parente85628702940989a8e53245ada5d16711a180fdc (diff)
downloadopenttd-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.h4
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;
}
/**