summaryrefslogtreecommitdiff
path: root/program/js
diff options
context:
space:
mode:
Diffstat (limited to 'program/js')
-rw-r--r--program/js/app.js11
1 files changed, 6 insertions, 5 deletions
diff --git a/program/js/app.js b/program/js/app.js
index c627983f4..632ee964c 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -509,7 +509,7 @@ function rcube_webmail()
return false;
// let the browser handle this click (shift/ctrl usually opens the link in a new window/tab)
- if ((obj && obj.href && String(obj.href).indexOf(location.href) < 0) && rcube_event.get_modifier(event)) {
+ if ((obj && obj.href && String(obj.href).indexOf('#') < 0) && rcube_event.get_modifier(event)) {
return true;
}
@@ -820,7 +820,7 @@ function rcube_webmail()
var qstring = '_mbox='+urlencode(this.env.mailbox)+'&_uid='+this.env.uid+'&_part='+props.part;
// open attachment in frame if it's of a supported mimetype
- if (this.env.uid && props.mimetype && this.env.mimetypes && $.inArray(props.mimetype, $.map(this.env.mimetypes, function(v,k){ return v })) >= 0) {
+ if (this.env.uid && props.mimetype && this.env.mimetypes && $.inArray(props.mimetype, this.env.mimetypes) >= 0) {
if (props.mimetype == 'text/html')
qstring += '&_safe=1';
this.attachment_win = window.open(this.env.comm_path+'&_action=get&'+qstring+'&_frame=1', 'rcubemailattachment');
@@ -3037,7 +3037,7 @@ function rcube_webmail()
ac_props;
// close compose step in opener
- if (window.opener && opener.rcmail && opener.rcmail.env.action == 'compose') {
+ if (window.opener && !window.opener.closed && opener.rcmail && opener.rcmail.env.action == 'compose') {
setTimeout(function(){ opener.history.back(); }, 100);
this.env.opened_extwin = true;
}
@@ -3707,9 +3707,10 @@ function rcube_webmail()
{
this.display_message(msg, type);
- if (this.env.extwin && window.opener && opener.rcmail) {
+ if (this.env.extwin) {
this.lock_form(this.gui_objects.messageform);
- opener.rcmail.display_message(msg, type);
+ if (window.opener && !window.opener.closed && opener.rcmail)
+ opener.rcmail.display_message(msg, type);
setTimeout(function(){ window.close() }, 1000);
}
else {