diff --git a/0001-frame-flattenning.patch b/0001-frame-flattenning.patch index 1d899ac..42d17c7 100644 --- a/0001-frame-flattenning.patch +++ b/0001-frame-flattenning.patch @@ -397,3 +397,97 @@ index d43d2fcbb6..052260d4a0 100644 read = camel_stream_read (closure->read_stream, buffer, nbuffer, closure->cancellable, &closure->error); if (read < 0 || closure->error) +diff --git a/data/webkit/e-web-view.js b/data/webkit/e-web-view.js +index 058b4e578c..d44bb0b403 100644 +--- a/data/webkit/e-web-view.js ++++ b/data/webkit/e-web-view.js +@@ -786,12 +786,12 @@ Evo.mailDisplayUpdateIFramesHeightRecursive = function(doc) + Evo.mailDisplayUpdateIFramesHeightRecursive(iframes[ii].contentDocument); + } + +- if (!doc.body || !doc.defaultView || !doc.defaultView.frameElement) ++ if (!doc.scrollingElement || !doc.defaultView || !doc.defaultView.frameElement) + return; + +- if (doc.defaultView.frameElement.height == doc.body.scrollHeight) ++ if (doc.defaultView.frameElement.height == doc.scrollingElement.scrollHeight) + doc.defaultView.frameElement.height = 10; +- doc.defaultView.frameElement.height = doc.body.scrollHeight + 2 + (doc.body.scrollWidth > doc.body.clientWidth ? 20 : 0); ++ doc.defaultView.frameElement.height = doc.scrollingElement.scrollHeight + 2 + (doc.scrollingElement.scrollWidth > doc.scrollingElement.clientWidth ? 20 : 0); + } + + Evo.MailDisplayUpdateIFramesHeight = function() +@@ -1418,8 +1418,10 @@ EvoItip.SetElementInnerHTML = function(iframe_id, element_id, html_content) + { + var elem = Evo.FindElement(iframe_id, element_id); + +- if (elem) ++ if (elem) { + elem.innerHTML = html_content; ++ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); ++ } + } + + EvoItip.SetShowCheckbox = function(iframe_id, element_id, show, update_second) +@@ -1445,6 +1447,8 @@ EvoItip.SetShowCheckbox = function(iframe_id, element_id, show, update_second) + if (elem) { + elem.hidden = !show; + } ++ ++ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); + } + } + +@@ -1458,6 +1462,8 @@ EvoItip.SetAreaText = function(iframe_id, element_id, text) + if (row.lastElementChild) { + row.lastElementChild.innerHTML = text; + } ++ ++ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); + } + } + +@@ -1475,6 +1481,8 @@ EvoItip.UpdateTimes = function(iframe_id, element_id, header, label) + if (elem.lastElementChild) { + elem.lastElementChild.innerHTML = label; + } ++ ++ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); + } + } + +@@ -1502,6 +1510,8 @@ EvoItip.AppendInfoRow = function(iframe_id, table_id, row_id, icon_name, message + + cell = row.insertCell(-1); + cell.innerHTML = message; ++ ++ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); + } + + EvoItip.RemoveInfoRow = function(iframe_id, row_id) +@@ -1510,6 +1520,7 @@ EvoItip.RemoveInfoRow = function(iframe_id, row_id) + + if (row && row.parentNode) { + row.parentNode.removeChild(row); ++ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); + } + } + +@@ -1521,6 +1532,8 @@ EvoItip.RemoveChildNodes = function(iframe_id, element_id) + while (elem.lastChild) { + elem.removeChild(elem.lastChild); + } ++ ++ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); + } + } + +@@ -1573,6 +1586,8 @@ EvoItip.HideButtons = function(iframe_id, element_id) + if (button) + button.hidden = true; + } ++ ++ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); + } + } + diff --git a/evolution.spec b/evolution.spec index 3a00153..d511b2f 100644 --- a/evolution.spec +++ b/evolution.spec @@ -45,7 +45,7 @@ Name: evolution Version: 3.44.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL URL: https://wiki.gnome.org/Apps/Evolution @@ -573,6 +573,9 @@ grep -v "%{_datadir}/locale" evolution.lang > help.lang %endif %changelog +* Thu Apr 20 2023 Milan Crha - 3.44.4-3 +- Resolves: #2187653 (itip-formatter: iframe height miscalculated without frame flattening) + * Wed Sep 14 2022 Milan Crha - 3.44.4-2 - Add patch to handle frame flattening change in WebKitGTK