(svn r15377) -Fix [FS#2607]: filter did resort when unneeded and didn't deselect properly in some cases (Roujin)

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
rubidium 16 years ago
parent cecc3863cd
commit 841050ec83

@ -279,15 +279,18 @@ class NetworkContentListWindow : public QueryStringBaseWindow, ContentCallback {
{
if (!this->content.Filter(this->edit_str_buf)) return;
this->selected = NULL;
this->list_pos = 0;
/* update list position */
for (ConstContentIterator iter = this->content.Begin(); iter != this->content.End(); iter++) {
if (*iter == this->selected) {
this->list_pos = iter - this->content.Begin();
break;
this->ScrollToSelected();
return;
}
}
/* previously selected item not in list anymore */
this->selected = NULL;
this->list_pos = 0;
}
/** Make sure that the currently selected content info is within the visible part of the matrix */

@ -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;
}
/**

Loading…
Cancel
Save