summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-03-28 20:13:39 +0100
committerAleksander Machniak <alec@alec.pl>2013-03-28 20:13:39 +0100
commit0c974b263d8fbd1f2ab3557b3b860442c0c277cd (patch)
tree3f55e3926045ff62dedaafc48cbd3d98b72b0633
parent4da1abe93f4bcf73e87bee683a158b77ce7e021a (diff)
Fix keyboard events on list widgets in Internet Explorer (#1489025) - It was a regression in fix for #1489008
-rw-r--r--CHANGELOG4
-rw-r--r--program/js/app.js5
-rw-r--r--program/js/common.js7
-rw-r--r--program/js/list.js1
4 files changed, 9 insertions, 8 deletions
diff --git a/CHANGELOG b/CHANGELOG
index e4c5831a1..8e0328300 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,10 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix keyboard events on list widgets in Internet Explorer (#1489025)
+
+RELEASE 0.9-rc2
+---------------
- Fix security issue in save-pref command
- Remove sig_above configuration option, use reply_mode only (#1489001)
- Refresh current folder in opener window after draft save or message sent (#1488997)
diff --git a/program/js/app.js b/program/js/app.js
index c19ff62b2..5d7e28640 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -178,11 +178,6 @@ function rcube_webmail()
parent.rcmail.env.frame_lock = null;
}
- // Makes that reference to document.activeElement do not throw
- // "unspecified error" in IE9 (#1489008)
- if (this.env.framed && bw.ie)
- document.documentElement.focus();
-
// enable general commands
this.enable_command('close', 'logout', 'mail', 'addressbook', 'settings', 'save-pref',
'compose', 'undo', 'about', 'switch-task', 'menu-open', 'menu-save', true);
diff --git a/program/js/common.js b/program/js/common.js
index 1075225b4..f7c0a7536 100644
--- a/program/js/common.js
+++ b/program/js/common.js
@@ -717,7 +717,7 @@ if (bw.ie) {
// jQuery plugin to emulate HTML5 placeholder attributes on input elements
jQuery.fn.placeholder = function(text) {
return this.each(function() {
- var elem = $(this);
+ var active = false, elem = $(this);
this.title = text;
// Try HTML5 placeholder attribute first
@@ -742,8 +742,9 @@ jQuery.fn.placeholder = function(text) {
elem[(active ? 'addClass' : 'removeClass')]('placeholder').attr('spellcheck', active);
});
- // Do not blur currently focused element
- if (this != document.activeElement)
+ // Do not blur currently focused element (catch exception: #1489008)
+ try { active = this == document.activeElement; } catch(e) {}
+ if (!active)
elem.blur();
}
});
diff --git a/program/js/list.js b/program/js/list.js
index 9a531eaea..b677efeaa 100644
--- a/program/js/list.js
+++ b/program/js/list.js
@@ -692,6 +692,7 @@ select_row: function(id, mod_key, with_mouse)
this.shift_start = null;
this.last_selected = id;
+ this.list.focus();
},