From 302eb266de6884dd6413f674cbc9af177dfcdc38 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Wed, 11 Dec 2013 03:31:19 -0500
Subject: [PATCH] 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 cb3221d..c5574b1 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 bad8a2f..cbe61ab 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -5744,19 +5744,23 @@
       .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;

--
Gitblit v1.9.1