Index: /branches/release-0.7/plugins/managesieve/Changelog
===================================================================
--- /branches/release-0.7/plugins/managesieve/Changelog	(revision 5718)
+++ /branches/release-0.7/plugins/managesieve/Changelog	(revision 5719)
@@ -1,5 +1,8 @@
+* version 5.0 [2012-01-05]
+-----------------------------------------------------------
 - Fixed setting test type to :is when none is specified
 - Fixed javascript error in IE8
-- Fix possible ID duplication when adding filter rules very fast (#1488288)
+- Fixed possible ID duplication when adding filter rules very fast (#1488288)
+- Fixed bug where drag layer wasn't removed when dragging was ended over sets list
 
 * version 5.0-rc1 [2011-11-17]
Index: /branches/release-0.7/plugins/managesieve/managesieve.js
===================================================================
--- /branches/release-0.7/plugins/managesieve/managesieve.js	(revision 5718)
+++ /branches/release-0.7/plugins/managesieve/managesieve.js	(revision 5719)
@@ -66,7 +66,7 @@
         rcmail.filters_list = new rcube_list_widget(rcmail.gui_objects.filterslist,
           {multiselect:false, draggable:true, keyboard:false});
-        rcmail.filters_list.addEventListener('select', function(o){ p.managesieve_select(o); });
-        rcmail.filters_list.addEventListener('dragstart', function(o){ p.managesieve_dragstart(o); });
-        rcmail.filters_list.addEventListener('dragend', function(e){ p.managesieve_dragend(e); });
+        rcmail.filters_list.addEventListener('select', function(e) { p.managesieve_select(e); });
+        rcmail.filters_list.addEventListener('dragstart', function(e) { p.managesieve_dragstart(e); });
+        rcmail.filters_list.addEventListener('dragend', function(e) { p.managesieve_dragend(e); });
         rcmail.filters_list.row_init = function (row) {
           row.obj.onmouseover = function() { p.managesieve_focus_filter(row); };
@@ -79,5 +79,5 @@
       if (rcmail.gui_objects.filtersetslist) {
         rcmail.filtersets_list = new rcube_list_widget(rcmail.gui_objects.filtersetslist, {multiselect:false, draggable:false, keyboard:false});
-        rcmail.filtersets_list.addEventListener('select', function(o){ p.managesieve_setselect(o); });
+        rcmail.filtersets_list.addEventListener('select', function(e) { p.managesieve_setselect(e); });
         rcmail.filtersets_list.init();
         rcmail.filtersets_list.focus();
@@ -93,4 +93,7 @@
         rcmail.enable_command('plugin.managesieve-setact', 'plugin.managesieve-setget', setcnt);
         rcmail.enable_command('plugin.managesieve-setdel', setcnt > 1);
+
+        // Fix dragging filters over sets list
+        $('tr', rcmail.gui_objects.filtersetslist).each(function (i, e) { p.managesieve_fixdragend(e); });
       }
     }
@@ -352,4 +355,7 @@
       list.select(id);
 
+      // Fix dragging filters over sets list
+      this.managesieve_fixdragend(row);
+
       break;
   }
@@ -393,4 +399,15 @@
     this.drag_active = false;
   }
+};
+
+// Fixes filters dragging over sets list
+// @TODO: to be removed after implementing copying filters
+rcube_webmail.prototype.managesieve_fixdragend = function(elem)
+{
+  var p = this;
+  $(elem).bind('mouseup' + ((bw.iphone || bw.ipad) ? ' touchend' : ''), function(e) {
+    if (p.drag_active)
+      p.filters_list.drag_mouse_up(e);
+  });
 };
 
