diff options
Diffstat (limited to 'program')
-rw-r--r-- | program/js/list.js | 6 | ||||
-rw-r--r-- | program/lib/Roundcube/rcube_plugin_api.php | 6 |
2 files changed, 7 insertions, 5 deletions
diff --git a/program/js/list.js b/program/js/list.js index d54b59d24..476edae4b 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -1035,7 +1035,7 @@ invert_selection: function() /** * Unselect selected row(s) */ -clear_selection: function(id) +clear_selection: function(id, no_event) { var n, num_select = this.selection.length; @@ -1057,7 +1057,7 @@ clear_selection: function(id) this.selection = []; } - if (num_select && !this.selection.length) + if (num_select && !this.selection.length && !no_event) this.triggerEvent('select'); }, @@ -1110,7 +1110,7 @@ highlight_row: function(id, multiple, norecur) if (!multiple) { if (this.selection.length > 1 || !this.in_selection(id)) { - this.clear_selection(); + this.clear_selection(null, true); this.selection[0] = id; $(this.rows[id].obj).addClass('selected'); } diff --git a/program/lib/Roundcube/rcube_plugin_api.php b/program/lib/Roundcube/rcube_plugin_api.php index 461c3cc07..feeeb192e 100644 --- a/program/lib/Roundcube/rcube_plugin_api.php +++ b/program/lib/Roundcube/rcube_plugin_api.php @@ -182,7 +182,7 @@ class rcube_plugin_api } // plugin already loaded - if ($this->plugins[$plugin_name] || class_exists($plugin_name, false)) { + if ($this->plugins[$plugin_name]) { return true; } @@ -190,7 +190,9 @@ class rcube_plugin_api . DIRECTORY_SEPARATOR . $plugin_name . '.php'; if (file_exists($fn)) { - include $fn; + if (!class_exists($plugin_name, false)) { + include $fn; + } // instantiate class if exists if (class_exists($plugin_name, false)) { |