From 302eb266de6884dd6413f674cbc9af177dfcdc38 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 11 Dec 2013 09:31:19 +0100 Subject: Fix regression where only first new folder was placed in correct place on the list (#1489472) --- CHANGELOG | 1 + program/js/app.js | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index cb3221d30..c5574b13f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Fix regression where only first new folder was placed in correct place on the list (#1489472) - Fix issue where children of selected and collapsed thread were skipped on various actions (#1489457) - Fix issue where groups were not deleted when "Replace entire addressbook" option on contacts import was used (#1489420) - Fix unreliable mimetype tests in Installer (#1489453) diff --git a/program/js/app.js b/program/js/app.js index bad8a2f9c..cbe61ab4a 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -5744,19 +5744,23 @@ function rcube_webmail() .prop({checked: subscribed ? true : false, disabled: is_protected ? true : false}); // add to folder/row-ID map - this.env.subscriptionrows[id] = [name, display_name, 0]; + this.env.subscriptionrows[id] = [name, display_name, false]; // sort folders (to find a place where to insert the row) // replace delimiter with \0 character to fix sorting // issue where 'Abc Abc' would be placed before 'Abc/def' var replace_from = RegExp(RegExp.escape(this.env.delimiter), 'g'), replace_to = String.fromCharCode(0); + $.each(this.env.subscriptionrows, function(k,v) { - var n = v[0]; - n = n.replace(replace_from, replace_to); - v.push(n); + if (v.length < 4) { + var n = v[0]; + n = n.replace(replace_from, replace_to); + v.push(n); + } folders.push(v); }); + folders.sort(function(a, b) { var len = a.length - 1; n1 = a[len], n2 = b[len]; return n1 < n2 ? -1 : 1; -- cgit v1.2.3