diff --git a/CHANGELOG b/CHANGELOG index fe27ecda1..84244a5e7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ CHANGELOG RoundCube Webmail =========================== +- Fix disapearing upload form disapears when user selects a file on Safari (#1486823) +- Don't replace error messages with loading info (#1486300) - Fix JS errors on compose mode switch (#1486870) - Fix message structure parsing when it lacks optional fields (#1486881) - Include all recipients in sendmail log diff --git a/skins/default/functions.js b/skins/default/functions.js index a42c47d2b..2112c340c 100644 --- a/skins/default/functions.js +++ b/skins/default/functions.js @@ -36,7 +36,7 @@ function rcube_mail_ui() groupmenu: {id:'groupoptionsmenu', above:1}, mailboxmenu: {id:'mailboxoptionsmenu', above:1}, composemenu: {id:'composeoptionsmenu', editable:1}, - uploadmenu: {id:'attachment-form', editable:1, above:1} + uploadmenu: {id:'attachment-form', editable:1, above:1, toggle:bw.safari&&bw.win } }; var obj; @@ -68,6 +68,8 @@ show_popupmenu: function(popup, show) if (typeof show == 'undefined') show = obj.is(':visible') ? false : true; + else if (this.popups[popup].toggle && show && this.popups[popup].obj.is(':visible') ) + show = false; if (show && ref) { var pos = $(ref).offset(); @@ -215,6 +217,7 @@ body_mouseup: function(evt, p) for (i in this.popups) { if (this.popups[i].obj.is(':visible') && target != rcube_find_object(i+'link') + && !this.popups[i].toggle && (!this.popups[i].editable || !this.target_overlaps(target, this.popups[i].id)) && (!this.popups[i].sticky || !rcube_mouse_is_over(evt, rcube_find_object(this.popups[i].id))) ) {