Fix javascript errors when working in a page opened with taget="_blank"

pull/88/head
Aleksander Machniak 12 years ago
parent 91deac7c91
commit 527e7d4509

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Fix javascript errors when working in a page opened with taget="_blank"
- Mention SQLite database format change in UPGRADING file (#1488983)
- Increase maxlength to 254 chars for email input fields in addressbook (#1488987)
- Fix thumbnail size when GD extension is used for image resize (#1488985)

@ -3038,10 +3038,10 @@ function rcube_webmail()
input_message = $("[name='_message']").get(0),
html_mode = $("input[name='_is_html']").val() == '1',
ac_fields = ['cc', 'bcc', 'replyto', 'followupto'],
ac_props;
ac_props, opener_rc = this.opener();
// close compose step in opener
if (window.opener && !window.opener.closed && opener.rcmail && opener.rcmail.env.action == 'compose') {
if (opener_rc && opener_rc.env.action == 'compose') {
setTimeout(function(){ opener.history.back(); }, 100);
this.env.opened_extwin = true;
}
@ -3720,9 +3720,10 @@ function rcube_webmail()
this.display_message(msg, type);
if (this.env.extwin) {
var opener_rc = this.opener();
this.lock_form(this.gui_objects.messageform);
if (window.opener && !window.opener.closed && opener.rcmail)
opener.rcmail.display_message(msg, type);
if (opener_rc)
opener_rc.display_message(msg, type);
setTimeout(function(){ window.close() }, 1000);
}
else {
@ -6601,6 +6602,17 @@ function rcube_webmail()
/********* helper methods *********/
/********************************************************/
// get window.opener.rcmail if available
this.opener = function()
{
// catch Error: Permission denied to access property rcmail
try {
if (window.opener && !opener.closed && opener.rcmail)
return opener.rcmail;
}
catch (e) {}
};
// check if we're in show mode or if we have a unique selection
// and return the message uid
this.get_single_uid = function()

@ -117,7 +117,8 @@ function rcube_mail_ui()
}).css('cursor', 'pointer');
// toggle compose options if opened in new window and they were visible before
if (window.opener && opener.rcmail && opener.rcmail.env.action == 'compose' && $('#composeoptionstoggle', opener.document).hasClass('remove'))
var opener_rc = rcmail.opener();
if (opener_rc && opener_rc.env.action == 'compose' && $('#composeoptionstoggle', opener.document).hasClass('remove'))
$('#composeoptionstoggle').click();
new rcube_splitter({ id:'composesplitterv', p1:'#composeview-left', p2:'#composeview-right',

Loading…
Cancel
Save