diff --git a/CHANGELOG b/CHANGELOG index 2c262ae56..014943771 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -46,6 +46,7 @@ CHANGELOG Roundcube Webmail - Fix responses list update issue after response name change (#1490555) - Fix bug where message preview was unintentionally reset on check-recent action (#1490563) - Fix bug where HTML messages with invalid/excessive css styles couldn't be displayed (#1490539) +- Fix redundant blank lines when using HTML and top posting (#1490576) RELEASE 1.1.3 ------------- diff --git a/program/js/editor.js b/program/js/editor.js index 50ba03da6..cd161583f 100644 --- a/program/js/editor.js +++ b/program/js/editor.js @@ -547,20 +547,19 @@ function rcube_text_editor(config, id) // Append the signature as a div within the body if (!sigElem) { - var body = this.editor.getBody(), - doc = this.editor.getDoc(); + var body = this.editor.getBody(); - sigElem = doc.createElement('div'); - sigElem.setAttribute('id', '_rc_sig'); + sigElem = $('
').get(0); - if (rcmail.env.top_posting && !rcmail.env.sig_below) { + // insert at start or at cursor position in top-posting mode + // (but not if the content is empty) + if (rcmail.env.top_posting && !rcmail.env.sig_below && (body.childNodes.length > 1 || $(body).text())) { this.editor.getWin().focus(); // correct focus in IE & Chrome var node = this.editor.selection.getNode(); - // insert at start or at cursor position if found - body.insertBefore(sigElem, node.nodeName == 'BODY' ? body.firstChild : node.nextSibling); - body.insertBefore(doc.createElement('p'), sigElem); + $(sigElem).insertBefore(node.nodeName == 'BODY' ? body.firstChild : node.nextSibling); + $('

').append($('
')).insertBefore(sigElem); } else { body.appendChild(sigElem);