Author: alink
Date: Tue Aug 21 01:13:58 2007
New Revision: 19696
URL: http://svn.gna.org/viewcvs/wesnoth?rev=19696&view=rev
Log:
Correctly sort column if the values use special mark-up characters
(even if it's the <r,g,b> tag)
Modified:
trunk/src/widgets/menu.cpp
Modified: trunk/src/widgets/menu.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/widgets/menu.cpp?rev=19696&r1=19695&r2=19696&view=diff
==============================================================================
--- trunk/src/widgets/menu.cpp (original)
+++ trunk/src/widgets/menu.cpp Tue Aug 21 01:13:58 2007
@@ -102,21 +102,25 @@
return true;
}
- const std::string& item1 = row1.fields[column];
- const std::string& item2 = row2.fields[column];
if(alpha_sort_.count(column) == 1) {
+ const std::string& item1 = font::del_tags(row1.fields[column]);
+ const std::string& item2 = font::del_tags(row2.fields[column]);
+
std::string::const_iterator begin1 = item1.begin(), end1 =
item1.end(),
begin2 = item2.begin(), end2 =
item2.end();
- while(begin1 != end1 && (font::is_format_char(*begin1) ||
is_wml_separator(*begin1))) {
+ while(begin1 != end1 && is_wml_separator(*begin1)) {
++begin1;
}
- while(begin2 != end2 && (font::is_format_char(*begin2) ||
is_wml_separator(*begin2))) {
+ while(begin2 != end2 && is_wml_separator(*begin2)) {
++begin2;
}
return
std::lexicographical_compare(begin1,end1,begin2,end2,chars_less_insensitive);
} else if(numeric_sort_.count(column) == 1) {
+ const std::string& item1 = font::del_tags(row1.fields[column]);
+ const std::string& item2 = font::del_tags(row2.fields[column]);
+
const char* a = item1.c_str();
const char* b = item2.c_str();
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits