diff options
author | Matt Turner <mattst88@gentoo.org> | 2023-01-02 22:57:36 -0500 |
---|---|---|
committer | Matt Turner <mattst88@gentoo.org> | 2023-01-03 09:07:52 -0500 |
commit | 906cc4935d6db7373ff186ee2c058538166b74be (patch) | |
tree | 5bde7c6d3d6cc1512b885463715a909d389cea41 | |
parent | gui-libs/vte: Drop old versions (diff) | |
download | gentoo-906cc4935d6db7373ff186ee2c058538166b74be.tar.gz gentoo-906cc4935d6db7373ff186ee2c058538166b74be.tar.bz2 gentoo-906cc4935d6db7373ff186ee2c058538166b74be.zip |
mail-client/evolution: Drop old versions
Signed-off-by: Matt Turner <mattst88@gentoo.org>
4 files changed, 0 insertions, 693 deletions
diff --git a/mail-client/evolution/Manifest b/mail-client/evolution/Manifest index 30059a5651f8..5984a00ce5e3 100644 --- a/mail-client/evolution/Manifest +++ b/mail-client/evolution/Manifest @@ -1,2 +1 @@ -DIST evolution-3.44.4.tar.xz 13130588 BLAKE2B ffb6da420acbf7be7e5eb6fad44bcb9f00e9c52f99314a4f8e8e35e898eaac8a8fdc511328fd519fed5ac9ef98e63e326cfc7dde324919c1cc6e60ff17b3ad76 SHA512 1c2a30e00e4f9226ced2617cf5a69f33db914d5a94dd22223c9dc12e635952a52e2fac395d49de70c70c21004fb0d87e3ba81725aff924bb0b386ffb4901d058 DIST evolution-3.46.2.tar.xz 13295660 BLAKE2B 7dda0049f8579cef35367435f90e31977d33b389fe823bc5e7677566bd6d3d73ef414b3419041c9183f4fc9e95ff944e5a8664445f8371c5518e40703bca8981 SHA512 f5621640503a36ee00cce4f7075d58e743c7438e019d6a26883315ea24b90c4d92c37d9c8b6d97315f5388d14aa21911883e2d06ad5a66ca20568d13cab45734 diff --git a/mail-client/evolution/evolution-3.44.4-r4.ebuild b/mail-client/evolution/evolution-3.44.4-r4.ebuild deleted file mode 100644 index daf6f5460468..000000000000 --- a/mail-client/evolution/evolution-3.44.4-r4.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake gnome2 readme.gentoo-r1 - -DESCRIPTION="Integrated mail, addressbook and calendaring functionality" -HOMEPAGE="https://wiki.gnome.org/Apps/Evolution https://gitlab.gnome.org/GNOME/evolution" - -# Note: explicitly "|| ( LGPL-2 LGPL-3 )", not "LGPL-2+". -LICENSE="|| ( LGPL-2 LGPL-3 ) CC-BY-SA-3.0 FDL-1.3+ OPENLDAP" -SLOT="2.0" - -IUSE="archive +bogofilter geolocation gtk-doc highlight ldap spamassassin spell ssl +weather ytnef" - -KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86" - -# glade-3 support is for maintainers only per configure.ac -# pst is not mature enough and changes API/ABI frequently -# dconf explicitely needed for backup plugin -# gnome-desktop support is optional with --enable-gnome-desktop -# automagic libunity dep -# >=gspell-1.8 to ensure it uses enchant:2 like webkit-gtk -# <libgweather-4.2.0 because of libsoup:3 transition -DEPEND=" - >=app-crypt/gcr-3.4:0=[gtk] - >=app-text/enchant-2.2.0:2 - >=dev-db/sqlite-3.7.17 - >=dev-libs/glib-2.56:2[dbus] - >=dev-libs/libxml2-2.7.3:2 - >=gnome-base/gnome-desktop-2.91.3:3= - >=gnome-base/gsettings-desktop-schemas-2.91.92 - >=gnome-extra/evolution-data-server-${PV}:=[gtk,weather?] - >=media-libs/libcanberra-0.25[gtk3] - >=net-libs/libsoup-2.42:2.4 - >=net-libs/webkit-gtk-2.28.0:4=[spell?] - >=x11-libs/cairo-1.9.15[glib] - >=x11-libs/gdk-pixbuf-2.24:2 - >=x11-libs/gtk+-3.22:3 - >=x11-libs/libnotify-0.7 - >=x11-misc/shared-mime-info-0.22 - - app-text/cmark:= - >=app-text/iso-codes-0.49 - dev-libs/atk - gnome-base/dconf - x11-libs/libSM - x11-libs/libICE - - archive? ( >=app-arch/gnome-autoar-0.1.1[gtk] ) - bogofilter? ( mail-filter/bogofilter ) - geolocation? ( - >=media-libs/libchamplain-0.12:0.12[gtk] - >=media-libs/clutter-1.0.0:1.0 - >=media-libs/clutter-gtk-0.90:1.0 - >=sci-geosciences/geocode-glib-3.10.0:0 ) - ldap? ( >=net-nds/openldap-2:= ) - spamassassin? ( mail-filter/spamassassin ) - spell? ( >=app-text/gspell-1.8:= ) - ssl? ( - >=dev-libs/nspr-4.6.1 - >=dev-libs/nss-3.11 - ) - weather? ( - >=dev-libs/libgweather-3.91.0:4= - <dev-libs/libgweather-4.2.0:4= - ) - ytnef? ( net-mail/ytnef ) -" -RDEPEND="${DEPEND} - highlight? ( app-text/highlight ) -" -BDEPEND=" - app-text/docbook-xml-dtd:4.1.2 - dev-util/gdbus-codegen - dev-util/glib-utils - dev-util/itstool - gtk-doc? ( dev-util/gtk-doc - app-text/docbook-xml-dtd:4.3 ) - >=dev-util/intltool-0.40.0 - >=sys-devel/gettext-0.18.3 - virtual/pkgconfig -" - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS="To change the default browser if you are not using GNOME, edit -~/.local/share/applications/mimeapps.list so it includes the -following content: - -[Default Applications] -x-scheme-handler/http=firefox.desktop -x-scheme-handler/https=firefox.desktop - -(replace firefox.desktop with the name of the appropriate .desktop -file from /usr/share/applications if you use a different browser)." - -# global scope PATCHES or DOCS array mustn't be used due to double default_src_prepare -# call; if needed, set them after cmake_src_prepare call, if that works - -src_prepare() { - cmake_src_prepare - gnome2_src_prepare - - eapply "${FILESDIR}"/${PV}-I-2001-Mail-Update-preview-s-iframe-height-to-match-.patch - eapply "${FILESDIR}"/${PV}-I-1969-EShellWindow-The-New-menu-is-not-filled-after.patch -} - -src_configure() { - # Use NSS/NSPR only if 'ssl' is enabled. - local mycmakeargs=( - -DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc - -DENABLE_SCHEMAS_COMPILE=OFF - -DENABLE_GTK_DOC=$(usex gtk-doc) - -DWITH_OPENLDAP=$(usex ldap) - -DENABLE_SMIME=$(usex ssl) - -DENABLE_GNOME_DESKTOP=ON - -DWITH_ENCHANT_VERSION=2 - -DENABLE_CANBERRA=ON - -DENABLE_AUTOAR=$(usex archive) - -DWITH_HELP=ON - -DENABLE_YTNEF=OFF - -DWITH_BOGOFILTER=$(usex bogofilter) - -DWITH_SPAMASSASSIN=$(usex spamassassin) - -DENABLE_GSPELL=$(usex spell) - -DENABLE_TEXT_HIGHLIGHT=$(usex highlight) - -DENABLE_WEATHER=$(usex weather) - -DWITH_GWEATHER4=ON - -DENABLE_CONTACT_MAPS=$(usex geolocation) - -DENABLE_YTNEF=$(usex ytnef) - -DENABLE_PST_IMPORT=OFF - -DWITH_GLADE_CATALOG=OFF - -DENABLE_MARKDOWN=ON - ) - - cmake_src_configure -} - -src_compile() { - cmake_src_compile -} - -src_test() { - cmake_src_test -} - -src_install() { - cmake_src_install - - readme.gentoo_create_doc -} - -pkg_postinst() { - gnome2_pkg_postinst - readme.gentoo_print_elog -} diff --git a/mail-client/evolution/files/3.44.4-I-1969-EShellWindow-The-New-menu-is-not-filled-after.patch b/mail-client/evolution/files/3.44.4-I-1969-EShellWindow-The-New-menu-is-not-filled-after.patch deleted file mode 100644 index 882448e2f07c..000000000000 --- a/mail-client/evolution/files/3.44.4-I-1969-EShellWindow-The-New-menu-is-not-filled-after.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 080791256d78a6d97384b4eef0d411cdc73feeb0 Mon Sep 17 00:00:00 2001 -From: Milan Crha <mcrha@redhat.com> -Date: Fri, 23 Sep 2022 11:34:51 +0200 -Subject: [PATCH 2/2] I#1969 - EShellWindow: The 'New' menu is not filled after - start - -Related to https://gitlab.gnome.org/GNOME/evolution/-/issues/1969 ---- - src/shell/e-shell-window.c | 45 ++++++++++++++++++++++++++++++++++++-- - 1 file changed, 43 insertions(+), 2 deletions(-) - -diff --git a/src/shell/e-shell-window.c b/src/shell/e-shell-window.c -index e7be30feee..86c83e5e1e 100644 ---- a/src/shell/e-shell-window.c -+++ b/src/shell/e-shell-window.c -@@ -47,6 +47,7 @@ enum { - enum { - CLOSE_ALERT, - SHELL_VIEW_CREATED, -+ UPDATE_NEW_MENU, - LAST_SIGNAL - }; - -@@ -120,6 +121,17 @@ shell_window_toolbar_update_new_menu (GtkMenuToolButton *menu_tool_button, - gtk_menu_tool_button_set_menu (menu_tool_button, menu); - } - -+static void -+shell_window_toolbar_update_new_menu_sig (EShellWindow *shell_window, -+ GtkMenuToolButton *menu_tool_button) -+{ -+ GtkWidget *menu; -+ -+ /* Update the "New" menu tool button submenu. */ -+ menu = e_shell_window_create_new_menu (shell_window); -+ gtk_menu_tool_button_set_menu (menu_tool_button, menu); -+} -+ - static gboolean - shell_window_active_view_to_prefer_item (GBinding *binding, - const GValue *source_value, -@@ -160,6 +172,8 @@ shell_window_set_notebook_page (EShellWindow *shell_window, - g_return_if_fail (page_num >= 0); - - gtk_notebook_set_current_page (notebook, page_num); -+ -+ g_signal_emit (shell_window, signals[UPDATE_NEW_MENU], 0, NULL); - } - - static void -@@ -463,8 +477,8 @@ shell_window_construct_menubar (EShellWindow *shell_window) - main_menu, "visible", - G_BINDING_SYNC_CREATE); - -- e_signal_connect_notify ( -- shell_window, "notify::active-view", -+ g_signal_connect ( -+ shell_window, "update-new-menu", - G_CALLBACK (shell_window_menubar_update_new_menu), NULL); - - return main_menu; -@@ -544,6 +558,11 @@ shell_window_construct_toolbar (EShellWindow *shell_window) - G_CALLBACK (shell_window_toolbar_update_new_menu), - shell_window); - -+ g_signal_connect_object ( -+ shell_window, "update-new-menu", -+ G_CALLBACK (shell_window_toolbar_update_new_menu_sig), -+ item, 0); -+ - gtk_box_pack_start (GTK_BOX (box), toolbar, TRUE, TRUE, 0); - - toolbar = e_shell_window_get_managed_widget ( -@@ -1133,6 +1152,24 @@ e_shell_window_class_init (EShellWindowClass *class) - G_TYPE_NONE, 1, - E_TYPE_SHELL_VIEW); - -+ /* -+ * EShellWindow::update-new-menu -+ * @shell_window: the #EShellWindow -+ * -+ * Emitted when the 'New' menu should be updated. -+ * -+ * Since: 3.44.5 -+ */ -+ signals[UPDATE_NEW_MENU] = g_signal_new ( -+ "update-new-menu", -+ G_OBJECT_CLASS_TYPE (object_class), -+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, -+ 0, -+ NULL, NULL, -+ g_cclosure_marshal_VOID__VOID, -+ G_TYPE_NONE, 0, -+ G_TYPE_NONE); -+ - binding_set = gtk_binding_set_by_class (class); - gtk_binding_entry_add_signal ( - binding_set, GDK_KEY_Escape, 0, "close-alert", 0); -@@ -2049,6 +2086,8 @@ e_shell_window_register_new_item_actions (EShellWindow *shell_window, - G_OBJECT (action), - "primary", GINT_TO_POINTER (TRUE)); - } -+ -+ g_signal_emit (shell_window, signals[UPDATE_NEW_MENU], 0, NULL); - } - - /** -@@ -2126,6 +2165,8 @@ e_shell_window_register_new_source_actions (EShellWindow *shell_window, - G_OBJECT (action), - "backend-name", (gpointer) backend_name); - } -+ -+ g_signal_emit (shell_window, signals[UPDATE_NEW_MENU], 0, NULL); - } - - /** --- -2.37.4 - diff --git a/mail-client/evolution/files/3.44.4-I-2001-Mail-Update-preview-s-iframe-height-to-match-.patch b/mail-client/evolution/files/3.44.4-I-2001-Mail-Update-preview-s-iframe-height-to-match-.patch deleted file mode 100644 index e7fe8acd07a6..000000000000 --- a/mail-client/evolution/files/3.44.4-I-2001-Mail-Update-preview-s-iframe-height-to-match-.patch +++ /dev/null @@ -1,417 +0,0 @@ -From 44ac716d199b1c0a07a92014d2d64c28a077f876 Mon Sep 17 00:00:00 2001 -From: Milan Crha <mcrha@redhat.com> -Date: Fri, 16 Sep 2022 08:47:07 +0200 -Subject: [PATCH 1/2] I#2001 - Mail: Update preview's iframe height to match - its content - -Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2001 ---- - data/webkit/e-web-view.js | 60 ++++++++++++---- - data/webkit/webview.css | 32 ++++----- - src/em-format/e-mail-formatter-text-plain.c | 2 +- - src/mail/e-mail-display.c | 69 ++++++++++++++++++- - .../e-mail-formatter-text-highlight.c | 14 +++- - 5 files changed, 140 insertions(+), 37 deletions(-) - -diff --git a/data/webkit/e-web-view.js b/data/webkit/e-web-view.js -index a8f99c4668..058b4e578c 100644 ---- a/data/webkit/e-web-view.js -+++ b/data/webkit/e-web-view.js -@@ -772,6 +772,38 @@ Evo.EnsureMainDocumentInitialized = function() - Evo.initializeAndPostContentLoaded(null); - } - -+Evo.mailDisplayUpdateIFramesHeightRecursive = function(doc) -+{ -+ if (!doc) -+ return; -+ -+ var ii, iframes; -+ -+ iframes = doc.getElementsByTagName("iframe"); -+ -+ /* Update from bottom to top */ -+ for (ii = 0; ii < iframes.length; ii++) { -+ Evo.mailDisplayUpdateIFramesHeightRecursive(iframes[ii].contentDocument); -+ } -+ -+ if (!doc.body || !doc.defaultView || !doc.defaultView.frameElement) -+ return; -+ -+ if (doc.defaultView.frameElement.height == doc.body.scrollHeight) -+ doc.defaultView.frameElement.height = 10; -+ doc.defaultView.frameElement.height = doc.body.scrollHeight + 2 + (doc.body.scrollWidth > doc.body.clientWidth ? 20 : 0); -+} -+ -+Evo.MailDisplayUpdateIFramesHeight = function() -+{ -+ var scrolly = document.defaultView ? document.defaultView.scrollY : -1; -+ -+ Evo.mailDisplayUpdateIFramesHeightRecursive(document); -+ -+ if (scrolly != -1 && document.defaultView.scrollY != scrolly) -+ document.defaultView.scrollTo(0, scrolly); -+} -+ - if (this instanceof Window && this.document) { - this.document.onload = function() { Evo.initializeAndPostContentLoaded(this); }; - -@@ -857,9 +889,8 @@ Evo.mailDisplayResizeContentToPreviewWidth = function() - local_width -= 2; /* 1 + 1 frame borders */ - } else if (!iframes.length) { - /* Message main body */ -- local_width -= 8; /* 8 + 8 margins of body without iframes */ -- if (level > 1) -- local_width -= 8; -+ local_width -= level * 20; /* 10 + 10 margins of body without iframes */ -+ local_width -= 4; - - Evo.addRuleIntoStyleSheetDocument(doc, "-e-mail-formatter-style-sheet", "body", "width: " + local_width + "px;"); - Evo.addRuleIntoStyleSheetDocument(doc, "-e-mail-formatter-style-sheet", ".part-container", "width: " + local_width + "px;"); -@@ -869,7 +900,7 @@ Evo.mailDisplayResizeContentToPreviewWidth = function() - Evo.addRuleIntoStyleSheetDocument(doc, "-e-mail-formatter-style-sheet", "body", - "width: " + local_width + "px;"); - -- local_width -= 2; /* 1 + 1 frame borders */ -+ local_width -= 4; /* 2 + 2 frame borders */ - - Evo.addRuleIntoStyleSheetDocument(doc, "-e-mail-formatter-style-sheet", ".part-container-nostyle iframe", - "width: " + local_width + "px;"); -@@ -881,19 +912,15 @@ Evo.mailDisplayResizeContentToPreviewWidth = function() - Evo.addRuleIntoStyleSheetDocument(doc, "-e-mail-formatter-style-sheet", ".part-container iframe", - "width: " + (local_width - 10) + "px;"); - } else { -- local_width -= 20; /* 10 + 10 margins of body with iframes */ -- local_width -= 8; /* attachment margin */ -- local_width -= 2; /* 1 + 1 frame borders */ -+ local_width -= (level - 1) * 20; /* 10 + 10 margins of body with iframes */ -+ local_width -= 4; /* 2 + 2 frame borders */ -+ local_width -= 10; /* attachment margin */ - -- /* We need to subtract another 10 pixels from the iframe width to -- * have the iframe's borders on the correct place. We can't subtract -- * it from local_width as we don't want to propagate this change -- * further. */ - Evo.addRuleIntoStyleSheetDocument(doc, "-e-mail-formatter-style-sheet", ".part-container-nostyle iframe", -- "width: " + (local_width - 10) + "px;"); -+ "width: " + local_width + "px;"); - - Evo.addRuleIntoStyleSheetDocument(doc, "-e-mail-formatter-style-sheet", "body > .part-container-nostyle iframe", -- "width: " + (local_width - 10) + "px;"); -+ "width: " + local_width + "px;"); - } - - /* Add rules to every sub document */ -@@ -904,7 +931,7 @@ Evo.mailDisplayResizeContentToPreviewWidth = function() - var tmp_local_width = local_width; - - if (level == 0) { -- tmp_local_width -= 8; /* attachment's margin */ -+ tmp_local_width -= 10; /* attachment's margin */ - - Evo.addRuleIntoStyleSheetDocument(doc, "-e-mail-formatter-style-sheet", ".attachment-wrapper iframe:not([src*=\"__formatas=\"])", - "width: " + tmp_local_width + "px;"); -@@ -913,7 +940,7 @@ Evo.mailDisplayResizeContentToPreviewWidth = function() - "width: " + tmp_local_width + "px;"); - - Evo.addRuleIntoStyleSheetDocument(doc, "-e-mail-formatter-style-sheet", "body > .part-container-nostyle iframe", -- "width: " + local_width + "px;"); -+ "width: " + tmp_local_width + "px;"); - } - - this.set_iframe_and_body_width (iframes[ii].contentDocument, tmp_local_width, original_width, level + 1); -@@ -926,6 +953,7 @@ Evo.mailDisplayResizeContentToPreviewWidth = function() - width -= 20; /* 10 + 10 margins of body */ - - traversar.set_iframe_and_body_width(document, width, width, 0); -+ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); - } - - Evo.mailDisplayUpdateMagicSpacebarState = function() -@@ -1294,6 +1322,8 @@ Evo.MailDisplayShowAttachment = function(element_id, show) - window.webkit.messageHandlers.contentLoaded.postMessage(iframe_id); - Evo.mailDisplayUpdateMagicSpacebarState(); - } -+ } else if (elem.ownerDocument.defaultView.frameElement) { -+ window.webkit.messageHandlers.scheduleIFramesHeightUpdate.postMessage(0); - } - } - -diff --git a/data/webkit/webview.css b/data/webkit/webview.css -index 0d21253644..5b08388672 100644 ---- a/data/webkit/webview.css -+++ b/data/webkit/webview.css -@@ -12,8 +12,8 @@ img { - } - - body { -- /* Use margin so that children can safely use width=100% */ -- margin: 5px 10px 5px 10px; -+ /* Use padding so that children can safely use width=100% */ -+ padding: 8px; - } - - body, div, p, td { -@@ -38,21 +38,21 @@ img#__evo-contact-photo { - - img.navigable { - cursor: pointer; -- margin-right: 4px; -+ padding-right: 4px; - } - - .attachments { - background: #FFF; - border: 1px solid silver; -- margin: 10px 10px 10px 10px; -+ padding: 10px 10px 10px 10px; - border-left: 0; - border-right: 0; - border-bottom: 0; - } - - .attachment { -- margin-left: 8px; -- margin-right: 0px; -+ padding-left: 8px; -+ padding-right: 0px; - } - - .attachment td { -@@ -66,21 +66,21 @@ iframe:not([id$=".itip"]) { - - .part-container { - height: 100%; -- margin-top: 2px; -- margin-bottom: 2px; -+ padding: 0px; - } - - .part-container-nostyle iframe { -- margin-right: 10px; -+ margin: 0px; -+ padding-right: 0px; - } - - .part-container-inner-margin { -- margin: 8px; -+ padding: 0px; - } - - object { /* GtkWidgets */ -- margin-top: 2px; -- margin-bottom: 2px; -+ padding-top: 2px; -+ padding-bottom: 2px; - } - - .__evo-highlight { -@@ -175,7 +175,7 @@ th.rtl { - /***** PRINTING *******/ - - .printing-header { -- margin-bottom: 20px; -+ padding-bottom: 20px; - } - - .printing-header h1, -@@ -195,7 +195,7 @@ th.rtl { - /******* ITIP *********/ - .itip.icon { - float: left; -- margin-right: 5px; -+ padding-right: 5px; - } - - .itip.content { -@@ -204,7 +204,7 @@ th.rtl { - } - - .itip.description { -- margin: 5px; -+ padding: 5px; - } - - .itip tr { -@@ -228,7 +228,7 @@ th.rtl { - } - - #table_row_buttons img { -- margin-right: 5px; -+ padding-right: 5px; - vertical-align: middle; - } - -diff --git a/src/em-format/e-mail-formatter-text-plain.c b/src/em-format/e-mail-formatter-text-plain.c -index 7c6befda6b..3858bcdb3d 100644 ---- a/src/em-format/e-mail-formatter-text-plain.c -+++ b/src/em-format/e-mail-formatter-text-plain.c -@@ -111,7 +111,7 @@ emfe_text_plain_format (EMailFormatterExtension *extension, - string = - "<div class=\"part-container pre " - "-e-web-view-background-color -e-web-view-text-color\" " -- "style=\"border: none; padding: 8px; margin: 0;\">"; -+ "style=\"border: none; padding: 0; margin: 0;\">"; - - g_output_stream_write_all ( - stream, string, strlen (string), -diff --git a/src/mail/e-mail-display.c b/src/mail/e-mail-display.c -index cc38c65957..c60ab45cc5 100644 ---- a/src/mail/e-mail-display.c -+++ b/src/mail/e-mail-display.c -@@ -83,6 +83,7 @@ struct _EMailDisplayPrivate { - GSettings *settings; - - guint scheduled_reload; -+ guint iframes_height_update_id; - - GHashTable *old_settings; - -@@ -537,6 +538,43 @@ initialize_web_view_colors (EMailDisplay *display, - e_web_view_get_cancellable (E_WEB_VIEW (display))); - } - -+static gboolean -+mail_display_can_use_frame_flattening (void) -+{ -+ guint wk_major, wk_minor; -+ -+ wk_major = webkit_get_major_version (); -+ wk_minor = webkit_get_minor_version (); -+ -+ /* The 2.38 is the last version, which supports frame-flattening; -+ prefer it over the manual and expensive calculations. */ -+ return (wk_major < 2) || (wk_major == 2 && wk_minor <= 38); -+} -+ -+static gboolean -+mail_display_iframes_height_update_cb (gpointer user_data) -+{ -+ EMailDisplay *mail_display = user_data; -+ -+ mail_display->priv->iframes_height_update_id = 0; -+ -+ e_web_view_jsc_run_script (WEBKIT_WEB_VIEW (mail_display), e_web_view_get_cancellable (E_WEB_VIEW (mail_display)), -+ "Evo.MailDisplayUpdateIFramesHeight();"); -+ -+ return G_SOURCE_REMOVE; -+} -+ -+static void -+mail_display_schedule_iframes_height_update (EMailDisplay *mail_display) -+{ -+ if (mail_display_can_use_frame_flattening ()) -+ return; -+ -+ if (mail_display->priv->iframes_height_update_id) -+ g_source_remove (mail_display->priv->iframes_height_update_id); -+ mail_display->priv->iframes_height_update_id = g_timeout_add (100, mail_display_iframes_height_update_cb, mail_display); -+} -+ - static void - mail_display_change_one_attachment_visibility (EMailDisplay *display, - EAttachment *attachment, -@@ -1353,6 +1391,8 @@ mail_display_content_loaded_cb (EWebView *web_view, - gtk_widget_grab_focus (widget); - } - } -+ -+ mail_display_schedule_iframes_height_update (mail_display); - } - - static void -@@ -1475,6 +1515,11 @@ mail_display_dispose (GObject *object) - priv->scheduled_reload = 0; - } - -+ if (priv->iframes_height_update_id > 0) { -+ g_source_remove (priv->iframes_height_update_id); -+ priv->iframes_height_update_id = 0; -+ } -+ - if (priv->settings != NULL) { - g_signal_handlers_disconnect_matched ( - priv->settings, G_SIGNAL_MATCH_DATA, -@@ -1599,6 +1644,18 @@ mail_display_magic_spacebar_state_changed_cb (WebKitUserContentManager *manager, - mail_display->priv->magic_spacebar_state = jsc_value_to_int32 (jsc_value); - } - -+static void -+mail_display_schedule_iframes_height_update_cb (WebKitUserContentManager *manager, -+ WebKitJavascriptResult *js_result, -+ gpointer user_data) -+{ -+ EMailDisplay *mail_display = user_data; -+ -+ g_return_if_fail (mail_display != NULL); -+ -+ mail_display_schedule_iframes_height_update (mail_display); -+} -+ - static void - mail_display_constructed (GObject *object) - { -@@ -1611,9 +1668,11 @@ mail_display_constructed (GObject *object) - /* Chain up to parent's constructed() method. */ - G_OBJECT_CLASS (e_mail_display_parent_class)->constructed (object); - -- g_object_set (webkit_web_view_get_settings (WEBKIT_WEB_VIEW (object)), -- "enable-frame-flattening", TRUE, -- NULL); -+ if (mail_display_can_use_frame_flattening ()) { -+ g_object_set (webkit_web_view_get_settings (WEBKIT_WEB_VIEW (object)), -+ "enable-frame-flattening", TRUE, -+ NULL); -+ } - - display = E_MAIL_DISPLAY (object); - web_view = E_WEB_VIEW (object); -@@ -1661,8 +1720,12 @@ mail_display_constructed (GObject *object) - g_signal_connect_object (manager, "script-message-received::mailDisplayMagicSpacebarStateChanged", - G_CALLBACK (mail_display_magic_spacebar_state_changed_cb), display, 0); - -+ g_signal_connect_object (manager, "script-message-received::scheduleIFramesHeightUpdate", -+ G_CALLBACK (mail_display_schedule_iframes_height_update_cb), display, 0); -+ - webkit_user_content_manager_register_script_message_handler (manager, "mailDisplayHeadersCollapsed"); - webkit_user_content_manager_register_script_message_handler (manager, "mailDisplayMagicSpacebarStateChanged"); -+ webkit_user_content_manager_register_script_message_handler (manager, "scheduleIFramesHeightUpdate"); - - e_extensible_load_extensions (E_EXTENSIBLE (object)); - } -diff --git a/src/modules/text-highlight/e-mail-formatter-text-highlight.c b/src/modules/text-highlight/e-mail-formatter-text-highlight.c -index d7c641c157..f1db9bf79c 100644 ---- a/src/modules/text-highlight/e-mail-formatter-text-highlight.c -+++ b/src/modules/text-highlight/e-mail-formatter-text-highlight.c -@@ -135,16 +135,26 @@ text_hightlight_read_data_thread (gpointer user_data) - { - TextHighlightClosure *closure = user_data; - gint nbuffer = 10240; -+ gssize read; -+ gsize wrote = 0; - gchar *buffer; - - g_return_val_if_fail (closure != NULL, NULL); - - buffer = g_new (gchar, nbuffer); - -+ strcpy (buffer, "<style>body{margin:0; padding:8px;}</style>"); -+ read = strlen (buffer); -+ -+ if (!g_output_stream_write_all (closure->output_stream, buffer, read, &wrote, closure->cancellable, &closure->error) || -+ (gssize) wrote != read || closure->error) { -+ g_free (buffer); -+ return NULL; -+ } -+ - while (!camel_stream_eos (closure->read_stream) && - !g_cancellable_set_error_if_cancelled (closure->cancellable, &closure->error)) { -- gssize read; -- gsize wrote = 0; -+ wrote = 0; - - read = camel_stream_read (closure->read_stream, buffer, nbuffer, closure->cancellable, &closure->error); - if (read < 0 || closure->error) --- -2.37.4 - |