From: <sh...@us...> - 2009-03-26 22:11:01
|
Revision: 14853 http://jedit.svn.sourceforge.net/jedit/?rev=14853&view=rev Author: shlomy Date: 2009-03-26 22:10:50 +0000 (Thu, 26 Mar 2009) Log Message: ----------- Fixed bug #2712031: Index out of bounds exception in FilteredListModel The list selection is saved at the beginning of setFilter, in order to restore it after changing the list (by filtering). But the selection isn't explicitly cleared, so in case the items selected were filtered out, the selection won't be changed, leading to selection of non-existent indices. Modified Paths: -------------- jEdit/trunk/org/gjt/sp/jedit/gui/FilteredListModel.java Modified: jEdit/trunk/org/gjt/sp/jedit/gui/FilteredListModel.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/gui/FilteredListModel.java 2009-03-26 13:04:08 UTC (rev 14852) +++ jEdit/trunk/org/gjt/sp/jedit/gui/FilteredListModel.java 2009-03-26 22:10:50 UTC (rev 14853) @@ -108,6 +108,7 @@ public void run() { Set<Integer> selectedIndices = saveSelection(); + list.clearSelection(); FilteredListModel.this.filter = filter; if (filter != null && filter.length() > 0) { @@ -131,7 +132,7 @@ else resetFilter(); - fireContentsChanged(this, 0, getSize()); + fireContentsChanged(this, 0, getSize() - 1); restoreSelection(selectedIndices); } }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |