Changeset - r11037:7da36f50e507
[Not reviewed]
master
0 2 0
rubidium - 15 years ago 2009-02-06 18:00:05
rubidium@openttd.org
(svn r15377) -Fix [FS#2607]: filter did resort when unneeded and didn't deselect properly in some cases (Roujin)
2 files changed with 10 insertions and 5 deletions:
0 comments (0 inline, 0 general)
src/network/network_content_gui.cpp
Show inline comments
 
@@ -279,15 +279,18 @@ class NetworkContentListWindow : public 
 
	{
 
		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 */
src/sortlist_type.h
Show inline comments
 
@@ -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;
 
	}
 

	
 
	/**
0 comments (0 inline, 0 general)