From 0bb8664bd37209022364ec9e33cbc39bfdc164d6 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 16 Feb 2015 11:36:23 +0100 Subject: [PATCH 01/15] Update to 3.13.90 --- .gitignore | 1 + ...ion-3.12.3-drop-gnome-icon-theme-dep.patch | 23 - evolution-3.13.10-composer-backports.patch | 742 ------------------ evolution.spec | 23 +- sources | 2 +- 5 files changed, 11 insertions(+), 780 deletions(-) delete mode 100644 evolution-3.12.3-drop-gnome-icon-theme-dep.patch delete mode 100644 evolution-3.13.10-composer-backports.patch diff --git a/.gitignore b/.gitignore index 347c9af..c1b205d 100644 --- a/.gitignore +++ b/.gitignore @@ -83,3 +83,4 @@ evolution-2.31.5.tar.bz2 /evolution-3.13.8.tar.xz /evolution-3.13.9.tar.xz /evolution-3.13.10.tar.xz +/evolution-3.13.90.tar.xz diff --git a/evolution-3.12.3-drop-gnome-icon-theme-dep.patch b/evolution-3.12.3-drop-gnome-icon-theme-dep.patch deleted file mode 100644 index f3d5f23..0000000 --- a/evolution-3.12.3-drop-gnome-icon-theme-dep.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -up evolution-3.12.3/configure.ac.drop-gnome-icon-theme-dep evolution-3.12.3/configure.ac ---- evolution-3.12.3/configure.ac.drop-gnome-icon-theme-dep 2014-06-09 11:33:17.814864320 +0200 -+++ evolution-3.12.3/configure.ac 2014-06-09 11:33:44.925863171 +0200 -@@ -49,7 +49,6 @@ m4_define([gtkhtml_minimum_version], [4. - m4_define([gdk_pixbuf_minimum_version], [2.24.0]) - m4_define([gcr_minimum_version], [3.4]) - m4_define([gnome_desktop_minimum_version], [2.91.3]) --m4_define([gnome_icon_theme_minimum_version], [2.30.2.1]) - m4_define([gsettings_desktop_schemas_minimum_version], [2.91.92]) - m4_define([webkitgtk_minimum_version], [2.0.1]) - m4_define([libgdata_minimum_version], [0.10]) -@@ -486,11 +485,6 @@ fi - AC_CHECK_FUNCS(mkdtemp) - - dnl ************************************************** --dnl Gnome Icon Theme --dnl ************************************************** --PKG_CHECK_MODULES([GIT], [gnome-icon-theme >= gnome_icon_theme_minimum_version]) -- --dnl ************************************************** - dnl Accessibility support - dnl ************************************************** - PKG_CHECK_MODULES([A11Y], [atk]) diff --git a/evolution-3.13.10-composer-backports.patch b/evolution-3.13.10-composer-backports.patch deleted file mode 100644 index 59e0c62..0000000 --- a/evolution-3.13.10-composer-backports.patch +++ /dev/null @@ -1,742 +0,0 @@ -diff --git a/e-util/e-html-editor-selection.c b/e-util/e-html-editor-selection.c -index 254f820..baa5b38 100644 ---- a/e-util/e-html-editor-selection.c -+++ b/e-util/e-html-editor-selection.c -@@ -1347,22 +1347,22 @@ set_block_alignment (WebKitDOMElement *element, - static WebKitDOMNode * - get_parent_block_node_from_child (WebKitDOMNode *node) - { -- WebKitDOMElement *parent = WEBKIT_DOM_ELEMENT ( -- webkit_dom_node_get_parent_node (node)); -+ WebKitDOMNode *parent = webkit_dom_node_get_parent_node (node); - -- if (WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT (parent) || -- element_has_tag (parent, "b") || -- element_has_tag (parent, "i") || -- element_has_tag (parent, "u")) -- parent = WEBKIT_DOM_ELEMENT ( -- webkit_dom_node_get_parent_node (WEBKIT_DOM_NODE (parent))); -+ if (element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-temp-text-wrapper") || -+ element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-quoted") || -+ element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-quote-character") || -+ element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-signature") || -+ WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT (parent) || -+ element_has_tag (WEBKIT_DOM_ELEMENT (parent), "b") || -+ element_has_tag (WEBKIT_DOM_ELEMENT (parent), "i") || -+ element_has_tag (WEBKIT_DOM_ELEMENT (parent), "u")) -+ parent = webkit_dom_node_get_parent_node (parent); - -- if (element_has_class (parent, "-x-evo-temp-text-wrapper") || -- element_has_class (parent, "-x-evo-signature")) -- parent = WEBKIT_DOM_ELEMENT ( -- webkit_dom_node_get_parent_node (WEBKIT_DOM_NODE (parent))); -+ if (element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-quoted")) -+ parent = webkit_dom_node_get_parent_node (parent); - -- return WEBKIT_DOM_NODE (parent); -+ return parent; - } - - /** -@@ -3771,7 +3771,7 @@ e_html_editor_selection_set_monospaced (EHTMLEditorSelection *selection, - range, WEBKIT_DOM_NODE (monospace), NULL); - - e_html_editor_selection_move_caret_into_element ( -- document, monospace); -+ document, monospace, FALSE); - } - } else { - gboolean is_bold, is_italic, is_underline, is_strikethrough; -@@ -4857,7 +4857,8 @@ e_html_editor_selection_replace_image_src (EHTMLEditorSelection *selection, - - void - e_html_editor_selection_move_caret_into_element (WebKitDOMDocument *document, -- WebKitDOMElement *element) -+ WebKitDOMElement *element, -+ gboolean to_start) - { - WebKitDOMDOMWindow *window; - WebKitDOMDOMSelection *window_selection; -@@ -4871,8 +4872,8 @@ e_html_editor_selection_move_caret_into_element (WebKitDOMDocument *document, - new_range = webkit_dom_document_create_range (document); - - webkit_dom_range_select_node_contents ( -- new_range, WEBKIT_DOM_NODE (element), NULL); -- webkit_dom_range_collapse (new_range, FALSE, NULL); -+ new_range, WEBKIT_DOM_NODE (element), NULL); -+ webkit_dom_range_collapse (new_range, to_start, NULL); - webkit_dom_dom_selection_remove_all_ranges (window_selection); - webkit_dom_dom_selection_add_range (window_selection, new_range); - } -@@ -5071,13 +5072,13 @@ e_html_editor_selection_restore_caret_position (EHTMLEditorSelection *selection) - remove_node (WEBKIT_DOM_NODE (element)); - - e_html_editor_selection_move_caret_into_element ( -- document, WEBKIT_DOM_ELEMENT (next_sibling)); -+ document, WEBKIT_DOM_ELEMENT (next_sibling), FALSE); - - goto out; - } - } - -- e_html_editor_selection_move_caret_into_element (document, element); -+ e_html_editor_selection_move_caret_into_element (document, element, FALSE); - - if (fix_after_quoting) { - prev_sibling = webkit_dom_node_get_previous_sibling ( -@@ -6054,6 +6055,8 @@ e_html_editor_selection_save (EHTMLEditorSelection *selection) - parent_node, marker_node, split_node, NULL); - } - -+ webkit_dom_node_normalize (parent_node); -+ - end_marker: - marker = webkit_dom_document_create_element (document, "SPAN", NULL); - webkit_dom_element_set_id (marker, "-x-evo-selection-end-marker"); -@@ -6084,8 +6087,15 @@ e_html_editor_selection_save (EHTMLEditorSelection *selection) - WEBKIT_DOM_NODE (marker), - next_sibling, - NULL); -- return; -+ } else { -+ webkit_dom_node_insert_before ( -+ node, -+ WEBKIT_DOM_NODE (marker), -+ webkit_dom_node_get_next_sibling ( -+ webkit_dom_node_get_parent_node (parent_node)), -+ NULL); - } -+ return; - } - - if (WEBKIT_DOM_IS_TEXT (container)) { -@@ -6138,11 +6148,27 @@ e_html_editor_selection_save (EHTMLEditorSelection *selection) - if (split_node) { - parent_node = webkit_dom_node_get_parent_node (split_node); - -- webkit_dom_node_insert_before ( -- parent_node, marker_node, split_node, NULL); -- } else -- webkit_dom_node_append_child ( -- WEBKIT_DOM_NODE (container), marker_node, NULL); -+ if (WEBKIT_DOM_IS_HTML_BODY_ELEMENT (parent_node)) { -+ webkit_dom_node_append_child ( -+ webkit_dom_node_get_previous_sibling (split_node), -+ marker_node, -+ NULL); -+ } else -+ webkit_dom_node_insert_before ( -+ parent_node, marker_node, split_node, NULL); -+ } else { -+ WebKitDOMNode *first_child; -+ -+ first_child = webkit_dom_node_get_first_child (container); -+ if (offset == 0 && WEBKIT_DOM_IS_TEXT (first_child)) -+ webkit_dom_node_insert_before ( -+ WEBKIT_DOM_NODE (container), marker_node, webkit_dom_node_get_first_child (container), NULL); -+ else -+ webkit_dom_node_append_child ( -+ WEBKIT_DOM_NODE (container), marker_node, NULL); -+ } -+ -+ webkit_dom_node_normalize (parent_node); - - check: - if ((next_sibling = webkit_dom_node_get_next_sibling (marker_node))) { -diff --git a/e-util/e-html-editor-selection.h b/e-util/e-html-editor-selection.h -index 3290dfe..5ae9492 100644 ---- a/e-util/e-html-editor-selection.h -+++ b/e-util/e-html-editor-selection.h -@@ -185,7 +185,8 @@ void e_html_editor_selection_insert_image - const gchar *image_uri); - void e_html_editor_selection_move_caret_into_element - (WebKitDOMDocument *document, -- WebKitDOMElement *element); -+ WebKitDOMElement *element, -+ gboolean to_start); - void e_html_editor_selection_clear_caret_position_marker - (EHTMLEditorSelection *selection); - WebKitDOMNode * -diff --git a/e-util/e-html-editor-view.c b/e-util/e-html-editor-view.c -index cb97da3..aeea625 100644 ---- a/e-util/e-html-editor-view.c -+++ b/e-util/e-html-editor-view.c -@@ -699,12 +699,18 @@ get_parent_block_node_from_child (WebKitDOMNode *node) - WebKitDOMNode *parent = webkit_dom_node_get_parent_node (node); - - if (element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-temp-text-wrapper") || -+ element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-quoted") || -+ element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-quote-character") || -+ element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-signature") || - WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT (parent) || - element_has_tag (WEBKIT_DOM_ELEMENT (parent), "b") || - element_has_tag (WEBKIT_DOM_ELEMENT (parent), "i") || - element_has_tag (WEBKIT_DOM_ELEMENT (parent), "u")) - parent = webkit_dom_node_get_parent_node (parent); - -+ if (element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-quoted")) -+ parent = webkit_dom_node_get_parent_node (parent); -+ - return parent; - } - -@@ -1044,17 +1050,21 @@ move_elements_to_body (WebKitDOMDocument *document) - list = webkit_dom_document_query_selector_all ( - document, "span.-x-evo-to-body[data-credits]", NULL); - for (ii = webkit_dom_node_list_get_length (list) - 1; ii >= 0; ii--) { -- WebKitDOMNode *child; -+ char *credits; -+ WebKitDOMElement *pre_element; - WebKitDOMNode *node = webkit_dom_node_list_item (list, ii); - -- while ((child = webkit_dom_node_get_first_child (node))) { -- webkit_dom_node_insert_before ( -- WEBKIT_DOM_NODE (body), -- child, -- webkit_dom_node_get_first_child ( -- WEBKIT_DOM_NODE (body)), -- NULL); -- } -+ pre_element = webkit_dom_document_create_element (document, "pre", NULL); -+ credits = webkit_dom_element_get_attribute (WEBKIT_DOM_ELEMENT (node), "data-credits"); -+ webkit_dom_html_element_set_inner_text (WEBKIT_DOM_HTML_ELEMENT (pre_element), credits, NULL); -+ g_free (credits); -+ -+ webkit_dom_node_insert_before ( -+ WEBKIT_DOM_NODE (body), -+ WEBKIT_DOM_NODE (pre_element), -+ webkit_dom_node_get_first_child ( -+ WEBKIT_DOM_NODE (body)), -+ NULL); - - remove_node (node); - } -@@ -2131,6 +2141,57 @@ register_input_event_listener_on_body (EHTMLEditorView *view) - } - - static void -+remove_empty_blocks (WebKitDOMDocument *document) -+{ -+ gint ii, length; -+ WebKitDOMNodeList *list; -+ -+ list = webkit_dom_document_query_selector_all ( -+ document, "blockquote[type=cite] > :empty", NULL); -+ -+ length = webkit_dom_node_list_get_length (list); -+ for (ii = 0; ii < length; ii++) -+ remove_node (webkit_dom_node_list_item (list, ii)); -+ -+ g_object_unref (list); -+} -+ -+/* Following two functions are used when deleting the selection inside -+ * the quoted content. The thing is that normally the quote marks are not -+ * selectable by user. But this caused a lof of problems for WebKit when removing -+ * the selection. This will avoid it as when the delete or backspace key is pressed -+ * we will make the quote marks user selectable so they will act as any other text. -+ * On HTML keyup event callback we will make them again non-selectable. */ -+static void -+disable_quote_marks_select (WebKitDOMDocument *document) -+{ -+ WebKitDOMHTMLHeadElement *head; -+ WebKitDOMElement *style_element; -+ -+ head = webkit_dom_document_get_head (document); -+ -+ if (!webkit_dom_document_get_element_by_id (document, "-x-evo-quote-style")) { -+ style_element = webkit_dom_document_create_element (document, "style", NULL); -+ webkit_dom_element_set_id (style_element, "-x-evo-quote-style"); -+ webkit_dom_html_element_set_inner_html ( -+ WEBKIT_DOM_HTML_ELEMENT (style_element), -+ ".-x-evo-quoted { -webkit-user-select: none; }", -+ NULL); -+ webkit_dom_node_append_child ( -+ WEBKIT_DOM_NODE (head), WEBKIT_DOM_NODE (style_element), NULL); -+ } -+} -+ -+static void -+enable_quote_marks_select (WebKitDOMDocument *document) -+{ -+ WebKitDOMElement *style_element; -+ -+ if ((style_element = webkit_dom_document_get_element_by_id (document, "-x-evo-quote-style"))) -+ remove_node (WEBKIT_DOM_NODE (style_element)); -+} -+ -+static void - body_keyup_event_cb (WebKitDOMElement *element, - WebKitDOMUIEvent *event, - EHTMLEditorView *view) -@@ -2150,99 +2211,100 @@ body_keyup_event_cb (WebKitDOMElement *element, - * BackSpace or Delete. */ - gint level; - WebKitDOMElement *selection_start_marker, *selection_end_marker; -- WebKitDOMElement *br_element; -+ WebKitDOMElement *tmp_element; - WebKitDOMDocument *document; -- WebKitDOMNode *node, *parent; -+ WebKitDOMNode *parent; -+ -+ if (e_html_editor_view_get_html_mode (view)) -+ return; - - document = webkit_dom_node_get_owner_document (WEBKIT_DOM_NODE (element)); - -+ disable_quote_marks_select (document); -+ /* Remove empty blocks if presented. */ -+ remove_empty_blocks (document); -+ - e_html_editor_selection_save (selection); - selection_start_marker = webkit_dom_document_get_element_by_id ( - document, "-x-evo-selection-start-marker"); - selection_end_marker = webkit_dom_document_get_element_by_id ( - document, "-x-evo-selection-end-marker"); - -- level = get_citation_level ( -- WEBKIT_DOM_NODE (selection_start_marker), FALSE); -- if (level == 0) -- goto restore; -- -- node = webkit_dom_node_get_previous_sibling ( -- WEBKIT_DOM_NODE (selection_start_marker)); -- -- if (WEBKIT_DOM_IS_HTMLBR_ELEMENT (node)) -- node = webkit_dom_node_get_previous_sibling (node); -- -- if (node) -- goto restore; -- -- parent = get_parent_block_node_from_child ( -- WEBKIT_DOM_NODE (selection_start_marker)); -- -- node = webkit_dom_node_get_previous_sibling (parent); -- if (!node) { -- /* Situation where the start of the selection was in the -- * multiple quoted content and that start on the beginning -- * of the citation. -- * -- * > -- * >> | -- * >> xx|x -- * */ -- node = webkit_dom_node_get_parent_node (parent); -- if (!WEBKIT_DOM_IS_HTML_QUOTE_ELEMENT (node)) -- goto restore; -- node = webkit_dom_node_get_previous_sibling (node); -- if (!node) -- goto restore; -- if (!WEBKIT_DOM_IS_HTML_QUOTE_ELEMENT (webkit_dom_node_get_parent_node (node))) -- goto restore; -+ /* If we deleted a selection the caret will be inside the quote marks, fix it. */ -+ parent = webkit_dom_node_get_parent_node (WEBKIT_DOM_NODE (selection_start_marker)); -+ if (element_has_class (WEBKIT_DOM_ELEMENT (parent), "-x-evo-quote-character")) { -+ webkit_dom_node_insert_before ( -+ webkit_dom_node_get_parent_node ( -+ webkit_dom_node_get_parent_node (parent)), -+ WEBKIT_DOM_NODE (selection_end_marker), -+ webkit_dom_node_get_next_sibling ( -+ webkit_dom_node_get_parent_node (parent)), -+ NULL); -+ webkit_dom_node_insert_before ( -+ webkit_dom_node_get_parent_node ( -+ webkit_dom_node_get_parent_node (parent)), -+ WEBKIT_DOM_NODE (selection_start_marker), -+ webkit_dom_node_get_next_sibling ( -+ webkit_dom_node_get_parent_node (parent)), -+ NULL); - } - -- br_element = webkit_dom_element_query_selector ( -- WEBKIT_DOM_ELEMENT (node), "span.-x-evo-quote-character > br", NULL); -- if (br_element) { -- WebKitDOMNode *tmp; -- -- if (WEBKIT_DOM_IS_HTML_QUOTE_ELEMENT (node)) { -- /* We have to select the right block when the selection -- * started on the end of the citation that is -- * inside another citation. -- * -- * >>| -- * > xx|x -- */ -- /* */ -- node = webkit_dom_node_get_parent_node ( -- WEBKIT_DOM_NODE (br_element)); -- /* */ -- node = webkit_dom_node_get_parent_node (node); -- /* right block */ -- node = webkit_dom_node_get_parent_node (node); -- } -+ /* Under some circumstances we will end with block inside the citation -+ * that has the quote marks removed and we have to reinsert them back. */ -+ level = get_citation_level (WEBKIT_DOM_NODE (selection_start_marker), FALSE); -+ if (level > 0) { -+ WebKitDOMNode *prev_sibling; - -- webkit_dom_node_append_child ( -- node, WEBKIT_DOM_NODE (selection_start_marker), NULL); -+ prev_sibling = webkit_dom_node_get_previous_sibling ( -+ WEBKIT_DOM_NODE (selection_start_marker)); -+ if (!prev_sibling || -+ (WEBKIT_DOM_IS_HTMLBR_ELEMENT (prev_sibling) && -+ !webkit_dom_node_get_previous_sibling (prev_sibling))) { -+ WebKitDOMElement *block; -+ -+ block = WEBKIT_DOM_ELEMENT (get_parent_block_node_from_child ( -+ WEBKIT_DOM_NODE (selection_start_marker))); -+ if (element_has_class (block, "-x-evo-paragraph")) { -+ gint length, word_wrap_length; -+ -+ word_wrap_length = e_html_editor_selection_get_word_wrap_length (selection); -+ length = word_wrap_length - 2 * (level - 1); -+ block = e_html_editor_selection_wrap_paragraph_length ( -+ selection, block, length); -+ webkit_dom_node_normalize (WEBKIT_DOM_NODE (block)); -+ } -+ quote_plain_text_element_after_wrapping ( -+ document, block, level); -+ } -+ } - -- while ((tmp = webkit_dom_node_get_next_sibling (WEBKIT_DOM_NODE (selection_end_marker)))) -- webkit_dom_node_append_child (node, tmp, NULL); -+ /* Situation where the start of the selection was in the beginning -+ * of the block in quoted content and the end in the beginning of -+ * content that is after the citation or the selection end was in -+ * the end of the quoted content (showed by ^). The correct structure -+ * in these cases is to have empty block after the citation. -+ * -+ * > |xxx -+ * > xxx^ -+ * |xxx -+ * */ -+ tmp_element = webkit_dom_document_get_element_by_id (document, "-x-evo-tmp-block"); -+ if (tmp_element) { -+ remove_wrapping_from_element (tmp_element); -+ remove_quoting_from_element (tmp_element); -+ webkit_dom_element_remove_attribute (tmp_element, "id"); -+ -+ parent = webkit_dom_node_get_parent_node (WEBKIT_DOM_NODE (tmp_element)); -+ while (parent && !WEBKIT_DOM_IS_HTML_BODY_ELEMENT (webkit_dom_node_get_parent_node (parent))) -+ parent = webkit_dom_node_get_parent_node (parent); - - webkit_dom_node_insert_before ( -- node, -- WEBKIT_DOM_NODE (selection_end_marker), -- webkit_dom_node_get_next_sibling ( -- WEBKIT_DOM_NODE (selection_start_marker)), -+ webkit_dom_node_get_parent_node (parent), -+ WEBKIT_DOM_NODE (tmp_element), -+ webkit_dom_node_get_next_sibling (parent), - NULL); -- -- if (!WEBKIT_DOM_IS_HTMLBR_ELEMENT (webkit_dom_node_get_last_child (node))) -- webkit_dom_node_append_child ( -- node, WEBKIT_DOM_NODE (br_element), NULL); -- else -- remove_node (WEBKIT_DOM_NODE (br_element)); -- -- remove_node (parent); - } -- restore: -+ - e_html_editor_selection_restore (selection); - } else if (key_code == HTML_KEY_CODE_CONTROL) - html_editor_view_set_links_active (view, FALSE); -@@ -2825,6 +2887,127 @@ change_quoted_block_to_normal (EHTMLEditorView *view) - } - - static gboolean -+fix_structure_after_delete_before_quoted_content (EHTMLEditorView *view) -+{ -+ EHTMLEditorSelection *selection; -+ gboolean collapsed = FALSE; -+ WebKitDOMDocument *document; -+ WebKitDOMElement *selection_start_marker, *selection_end_marker; -+ WebKitDOMNode *block, *node; -+ -+ selection = e_html_editor_view_get_selection (view); -+ -+ collapsed = e_html_editor_selection_is_collapsed (selection); -+ -+ e_html_editor_selection_save (selection); -+ -+ document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (view)); -+ selection_start_marker = webkit_dom_document_query_selector ( -+ document, "span#-x-evo-selection-start-marker", NULL); -+ selection_end_marker = webkit_dom_document_query_selector ( -+ document, "span#-x-evo-selection-end-marker", NULL); -+ -+ if (!selection_start_marker || !selection_end_marker) -+ return FALSE; -+ -+ if (collapsed) { -+ WebKitDOMNode *next_sibling; -+ -+ block = get_parent_block_node_from_child ( -+ WEBKIT_DOM_NODE (selection_start_marker)); -+ -+ next_sibling = webkit_dom_node_get_next_sibling (block); -+ -+ /* Next block is quoted content */ -+ if (!WEBKIT_DOM_IS_HTML_QUOTE_ELEMENT (next_sibling)) -+ goto restore; -+ -+ /* Delete was pressed in block without any content */ -+ if (webkit_dom_node_get_previous_sibling (WEBKIT_DOM_NODE (selection_start_marker))) -+ goto restore; -+ -+ /* If there is just BR element go ahead */ -+ node = webkit_dom_node_get_next_sibling (WEBKIT_DOM_NODE (selection_end_marker)); -+ if (node && !WEBKIT_DOM_IS_HTMLBR_ELEMENT (node)) -+ goto restore; -+ else { -+ /* Remove the empty block and move caret into the beginning of the citation */ -+ remove_node (block); -+ -+ e_html_editor_selection_move_caret_into_element ( -+ document, WEBKIT_DOM_ELEMENT (next_sibling), TRUE); -+ -+ return TRUE; -+ } -+ } else { -+ WebKitDOMNode *end_block; -+ -+ /* Let the quote marks be selectable to nearly correctly remove the -+ * selection. Corrections after are done in body_keyup_event_cb. */ -+ enable_quote_marks_select (document); -+ -+ node = webkit_dom_node_get_previous_sibling ( -+ WEBKIT_DOM_NODE (selection_start_marker)); -+ -+ if (!node || !WEBKIT_DOM_IS_ELEMENT (node)) -+ goto restore; -+ -+ if (!element_has_class (WEBKIT_DOM_ELEMENT (node), "-x-evo-quoted")) -+ goto restore; -+ -+ webkit_dom_node_insert_before ( -+ webkit_dom_node_get_parent_node (WEBKIT_DOM_NODE (node)), -+ WEBKIT_DOM_NODE (selection_start_marker), -+ WEBKIT_DOM_NODE (node), -+ NULL); -+ -+ block = get_parent_block_node_from_child ( -+ WEBKIT_DOM_NODE (selection_start_marker)); -+ end_block = get_parent_block_node_from_child ( -+ WEBKIT_DOM_NODE (selection_end_marker)); -+ -+ /* Situation where the start of the selection is in the beginning -+ * of the block in quoted content and the end in the beginning of -+ * content that is after the citation or the selection end is in -+ * the end of the quoted content (showed by ^). We have to -+ * mark the start block to correctly restore the structure -+ * afterwards. -+ * -+ * > |xxx -+ * > xxx^ -+ * |xxx -+ * */ -+ if (get_citation_level (end_block, FALSE) > 0) { -+ WebKitDOMNode *parent; -+ -+ if (webkit_dom_node_get_next_sibling (end_block)) -+ goto restore; -+ -+ parent = webkit_dom_node_get_parent_node (end_block); -+ while (parent && WEBKIT_DOM_IS_HTML_QUOTE_ELEMENT (parent)) { -+ WebKitDOMNode *next_parent = webkit_dom_node_get_parent_node (parent); -+ -+ if (webkit_dom_node_get_next_sibling (parent) && -+ !WEBKIT_DOM_IS_HTML_BODY_ELEMENT (next_parent)) -+ goto restore; -+ -+ parent = next_parent; -+ } -+ } -+ node = webkit_dom_node_get_next_sibling ( -+ WEBKIT_DOM_NODE (selection_end_marker)); -+ if (!node || WEBKIT_DOM_IS_HTMLBR_ELEMENT (node)) { -+ webkit_dom_element_set_id ( -+ WEBKIT_DOM_ELEMENT (block), "-x-evo-tmp-block"); -+ } -+ } -+ restore: -+ e_html_editor_selection_restore (selection); -+ -+ return FALSE; -+} -+ -+static gboolean - html_editor_view_key_press_event (GtkWidget *widget, - GdkEventKey *event) - { -@@ -2916,6 +3099,10 @@ html_editor_view_key_press_event (GtkWidget *widget, - return TRUE; - } - -+ if (event->keyval == GDK_KEY_Delete || event->keyval == GDK_KEY_BackSpace) -+ if (fix_structure_after_delete_before_quoted_content (view)) -+ return TRUE; -+ - /* Chain up to parent's key_press_event() method. */ - return GTK_WIDGET_CLASS (e_html_editor_view_parent_class)-> - key_press_event (widget, event); -@@ -4570,6 +4757,9 @@ clear_attributes (WebKitDOMDocument *document) - while (webkit_dom_node_get_first_child (WEBKIT_DOM_NODE (head))) - remove_node (webkit_dom_node_get_first_child (WEBKIT_DOM_NODE (head))); - -+ /* Make the quote marks non-selectable. */ -+ disable_quote_marks_select (document); -+ - /* Remove non Evolution attributes from BODY element */ - attributes = webkit_dom_element_get_attributes (WEBKIT_DOM_ELEMENT (body)); - length = webkit_dom_named_node_map_get_length (attributes); -@@ -4718,16 +4908,20 @@ html_editor_convert_view_content (EHTMLEditorView *view, - document, "span.-x-evo-to-body[data-credits]", NULL); - length = webkit_dom_node_list_get_length (list); - for (ii = 0; ii < length; ii++) { -- WebKitDOMNode *node, *child; -+ char *credits; -+ WebKitDOMElement *pre_element; -+ WebKitDOMNode *node = webkit_dom_node_list_item (list, ii); - -- node = webkit_dom_node_list_item (list, ii); -- while ((child = webkit_dom_node_get_first_child (node))) { -- webkit_dom_node_insert_before ( -- WEBKIT_DOM_NODE (wrapper), -- child, -- WEBKIT_DOM_NODE (content_wrapper), -- NULL); -- } -+ pre_element = webkit_dom_document_create_element (document, "pre", NULL); -+ credits = webkit_dom_element_get_attribute (WEBKIT_DOM_ELEMENT (node), "data-credits"); -+ webkit_dom_html_element_set_inner_text (WEBKIT_DOM_HTML_ELEMENT (pre_element), credits, NULL); -+ g_free (credits); -+ -+ webkit_dom_node_insert_before ( -+ WEBKIT_DOM_NODE (wrapper), -+ WEBKIT_DOM_NODE (pre_element), -+ WEBKIT_DOM_NODE (content_wrapper), -+ NULL); - - remove_node (node); - } -@@ -4927,6 +5121,8 @@ html_editor_view_insert_converted_html_into_selection (EHTMLEditorView *view, - document, "-x-evo-selection-end-marker"); - current_block = get_parent_block_node_from_child ( - WEBKIT_DOM_NODE (selection_start_marker)); -+ if (WEBKIT_DOM_IS_HTML_BODY_ELEMENT (current_block)) -+ current_block = NULL; - - element = webkit_dom_document_create_element (document, "div", NULL); - if (is_html) { -@@ -6230,9 +6426,6 @@ process_elements (EHTMLEditorView *view, - remove_base_attributes (WEBKIT_DOM_ELEMENT (child)); - remove_evolution_attributes (WEBKIT_DOM_ELEMENT (child)); - } -- if (!changing_mode && to_plain_text) -- if (!webkit_dom_node_has_child_nodes (child)) -- g_string_append (buffer, "\n"); - } - - /* Signature */ -@@ -6261,7 +6454,6 @@ process_elements (EHTMLEditorView *view, - WEBKIT_DOM_HTML_ELEMENT (child)); - g_string_append (buffer, content); - g_free (content); -- skip_node = TRUE; - } - skip_node = TRUE; - goto next; -@@ -7043,6 +7235,9 @@ html_editor_view_load_status_changed (EHTMLEditorView *view) - webkit_dom_element_set_attribute ( - WEBKIT_DOM_ELEMENT (body), "data-message", "", NULL); - -+ /* Make the quote marks non-selectable. */ -+ disable_quote_marks_select (document); -+ - if (view->priv->convert_in_situ) { - html_editor_convert_view_content (view, NULL); - view->priv->convert_in_situ = FALSE; -@@ -7057,7 +7252,7 @@ html_editor_view_load_status_changed (EHTMLEditorView *view) - if (webkit_dom_element_get_attribute (WEBKIT_DOM_ELEMENT (body), "data-evo-draft")) { - /* Restore the selection how it was when the draft was saved */ - e_html_editor_selection_move_caret_into_element ( -- document, WEBKIT_DOM_ELEMENT (body)); -+ document, WEBKIT_DOM_ELEMENT (body), FALSE); - e_html_editor_selection_restore ( - e_html_editor_view_get_selection (view)); - } -@@ -7812,7 +8007,8 @@ e_html_editor_view_update_fonts (EHTMLEditorView *view) - " font-family: '%s';\n" - " font-size: %dpt;\n" - " font-weight: %d;\n" -- " font-style: %s;\n", -+ " font-style: %s;\n" -+ " -webkit-line-break: after-white-space;\n", - pango_font_description_get_family (vw), - pango_font_description_get_size (vw) / PANGO_SCALE, - pango_font_description_get_weight (vw), -@@ -8007,13 +8203,6 @@ e_html_editor_view_update_fonts (EHTMLEditorView *view) - - g_string_append (stylesheet, "}\n"); - -- g_string_append ( -- stylesheet, -- ".-x-evo-quoted " -- "{\n" -- " -webkit-user-select: none;\n" -- "}\n"); -- - g_string_append_printf ( - stylesheet, - ".-x-evo-quote-character " -diff --git a/em-format/e-mail-formatter-quote.c b/em-format/e-mail-formatter-quote.c -index 4df8be6..1916bba 100644 ---- a/em-format/e-mail-formatter-quote.c -+++ b/em-format/e-mail-formatter-quote.c -@@ -122,7 +122,7 @@ mail_formatter_quote_run (EMailFormatter *formatter, - * the special span element and it will be moved to body in EHTMLEditorView */ - if (qf->priv->credits && *qf->priv->credits) { - gchar *credits = g_strdup_printf ( -- "
%s
", -+ "", - qf->priv->credits); - g_output_stream_write_all ( - stream, credits, strlen (credits), NULL, cancellable, NULL); -@@ -133,7 +133,7 @@ mail_formatter_quote_run (EMailFormatter *formatter, - * after the message and cite it in EHTMLEditorView because of reasons - * mentioned above */ - if (qf->priv->flags & E_MAIL_FORMATTER_QUOTE_FLAG_CITE) { -- string = ""; -+ string = ""; - g_output_stream_write_all ( - stream, string, strlen (string), NULL, cancellable, NULL); - } -diff --git a/mail/em-composer-utils.c b/mail/em-composer-utils.c -index 795ac9e..fcba621 100644 ---- a/mail/em-composer-utils.c -+++ b/mail/em-composer-utils.c -@@ -2871,8 +2871,7 @@ composer_set_body (EMsgComposer *composer, - original = quoting_text (QUOTING_ORIGINAL); - text = em_utils_message_to_html ( - session, message, original, E_MAIL_FORMATTER_QUOTE_FLAG_HEADERS, -- parts_list, "", -- "", &validity_found); -+ parts_list, NULL, NULL, &validity_found); - e_msg_composer_set_body_text (composer, text, TRUE); - g_free (text); - g_free (original); -@@ -2885,8 +2884,7 @@ composer_set_body (EMsgComposer *composer, - credits = attribution_format (message); - text = em_utils_message_to_html ( - session, message, credits, E_MAIL_FORMATTER_QUOTE_FLAG_CITE, -- parts_list, "", -- "", &validity_found); -+ parts_list, NULL, NULL, &validity_found); - g_free (credits); - e_msg_composer_set_body_text (composer, text, TRUE); - g_free (text); diff --git a/evolution.spec b/evolution.spec index b4fdefc..83164fd 100644 --- a/evolution.spec +++ b/evolution.spec @@ -1,15 +1,14 @@ %global _changelog_trimtime %(date +%s -d "1 year ago") -%define glib2_version 2.36.0 -%define gtk3_version 3.4.0 -%define gtkhtml_version 4.5.2 +%define glib2_version 2.40.0 +%define gtk3_version 3.10.0 %define gnome_desktop_version 2.91.3 %define gnome_doc_utils_version 0.8.0 %define intltool_version 0.35.5 %define libgdata_version 0.10.0 %define libgweather_version 3.5.0 %define libsoup_version 2.40.3 -%define webkit_version 1.8.0 +%define webkit_version 2.2.0 %define evo_base_version 3.14 @@ -29,8 +28,8 @@ ### Abstract ### Name: evolution -Version: 3.13.10 -Release: 2%{?dist} +Version: 3.13.90 +Release: 1%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL @@ -50,9 +49,6 @@ Patch01: evolution-1.4.4-ldap-x86_64-hack.patch # RH bug #589555 Patch02: evolution-2.30.1-help-contents.patch -# Backport WebKit composer fixes to test them in the wild -Patch03: evolution-3.13.10-composer-backports.patch - ## Dependencies ### Requires: gvfs @@ -87,7 +83,6 @@ BuildRequires: pkgconfig(gmodule-2.0) >= %{glib2_version} BuildRequires: pkgconfig(gnome-desktop-3.0) >= %{gnome_desktop_version} BuildRequires: pkgconfig(gsettings-desktop-schemas) BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version} -BuildRequires: pkgconfig(gtkhtml-editor-4.0) >= %{gtkhtml_version} BuildRequires: pkgconfig(gtkspell3-3.0) BuildRequires: pkgconfig(gweather-3.0) >= %{libgweather_version} BuildRequires: pkgconfig(libcanberra-gtk3) @@ -96,7 +91,6 @@ BuildRequires: pkgconfig(libebook-1.2) >= %{version} BuildRequires: pkgconfig(libecal-1.2) >= %{version} BuildRequires: pkgconfig(libedataserver-1.2) >= %{version} BuildRequires: pkgconfig(libgdata) >= %{libgdata_version} -BuildRequires: pkgconfig(libgtkhtml-4.0) >= %{gtkhtml_version} BuildRequires: pkgconfig(libsoup-2.4) >= %{libsoup_version} BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(nspr) @@ -129,7 +123,6 @@ Requires: %{name} = %{version}-%{release} Requires: pkgconfig(camel-1.2) >= %{version} Requires: pkgconfig(cryptui-0.0) Requires: pkgconfig(gtk+-3.0) >= %{gtk3_version} -Requires: pkgconfig(gtkhtml-editor-4.0) >= %{gtkhtml_version} Requires: pkgconfig(gtkspell3-3.0) Requires: pkgconfig(gweather-3.0) >= %{libgweather_version} Requires: pkgconfig(libebackend-1.2) >= %{version} @@ -137,7 +130,6 @@ Requires: pkgconfig(libebook-1.2) >= %{version} Requires: pkgconfig(libecal-1.2) >= %{version} Requires: pkgconfig(libedataserver-1.2) >= %{version} Requires: pkgconfig(libgdata) >= %{libgdata_version} -Requires: pkgconfig(libgtkhtml-4.0) >= %{gtkhtml_version} Requires: pkgconfig(libsoup-2.4) >= %{libsoup_version} Requires: pkgconfig(libxml-2.0) Obsoletes: libgal2-devel <= %{last_libgal2_version} @@ -219,7 +211,6 @@ the functionality of the installed %{name} package. %setup -q -n evolution-%{version} %patch01 -p1 -b .ldaphack %patch02 -p1 -b .help-contents -%patch03 -p1 -b .composer_backports # Remove the welcome email from Novell for inbox in mail/default/*/Inbox; do @@ -547,6 +538,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Mon Feb 16 2015 Milan Crha - 3.13.90-1 +- Update to 3.13.90 +- Remove WebKit composer patches (fixed upstream) + * Mon Feb 02 2015 Tomas Popela - 3.13.10-2 - Backport the WebKit composer patches diff --git a/sources b/sources index 4dc6c49..1336c2c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b19376206d98624a5f232a7826872e3f evolution-3.13.10.tar.xz +36da0aab8ee71b73ccdc9fe4fbaa502a evolution-3.13.90.tar.xz From 80701e201190821b5d1f9790452f10488b21c326 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 2 Mar 2015 09:49:19 +0100 Subject: [PATCH 02/15] Update to 3.15.91 --- .gitignore | 1 + evolution.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index c1b205d..989667f 100644 --- a/.gitignore +++ b/.gitignore @@ -84,3 +84,4 @@ evolution-2.31.5.tar.bz2 /evolution-3.13.9.tar.xz /evolution-3.13.10.tar.xz /evolution-3.13.90.tar.xz +/evolution-3.15.91.tar.xz diff --git a/evolution.spec b/evolution.spec index 83164fd..0a92c35 100644 --- a/evolution.spec +++ b/evolution.spec @@ -10,7 +10,7 @@ %define libsoup_version 2.40.3 %define webkit_version 2.2.0 -%define evo_base_version 3.14 +%define evo_base_version 3.16 %define last_anjal_version 0.3.2-3 %define last_libgal2_version 2:2.5.3-2 @@ -28,14 +28,14 @@ ### Abstract ### Name: evolution -Version: 3.13.90 +Version: 3.15.91 Release: 1%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL URL: https://wiki.gnome.org/Apps/Evolution BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) -Source: http://download.gnome.org/sources/%{name}/3.13/%{name}-%{version}.tar.xz +Source: http://download.gnome.org/sources/%{name}/3.15/%{name}-%{version}.tar.xz Obsoletes: anjal <= %{last_anjal_version} Obsoletes: libgal2 <= %{last_libgal2_version} @@ -538,6 +538,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Mon Mar 02 2015 Milan Crha - 3.15.91-1 +- Update to 3.15.91 + * Mon Feb 16 2015 Milan Crha - 3.13.90-1 - Update to 3.13.90 - Remove WebKit composer patches (fixed upstream) diff --git a/sources b/sources index 1336c2c..4f26674 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -36da0aab8ee71b73ccdc9fe4fbaa502a evolution-3.13.90.tar.xz +141b78120d0e9c7882c532b3a3d401f0 evolution-3.15.91.tar.xz From 8c1a26d4f46c9c1d12e912718db64cda8cab2f62 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 16 Mar 2015 12:24:31 +0100 Subject: [PATCH 03/15] Update to 3.15.92; Remove obsolete patches (one unused and one fixed upstream) --- .gitignore | 1 + evolution-1.4.4-ldap-x86_64-hack.patch | 21 ---- evolution-2.30.1-help-contents.patch | 149 ------------------------- evolution.spec | 16 +-- sources | 2 +- 5 files changed, 10 insertions(+), 179 deletions(-) delete mode 100644 evolution-1.4.4-ldap-x86_64-hack.patch delete mode 100644 evolution-2.30.1-help-contents.patch diff --git a/.gitignore b/.gitignore index 989667f..bff7adf 100644 --- a/.gitignore +++ b/.gitignore @@ -85,3 +85,4 @@ evolution-2.31.5.tar.bz2 /evolution-3.13.10.tar.xz /evolution-3.13.90.tar.xz /evolution-3.15.91.tar.xz +/evolution-3.15.92.tar.xz diff --git a/evolution-1.4.4-ldap-x86_64-hack.patch b/evolution-1.4.4-ldap-x86_64-hack.patch deleted file mode 100644 index 2a1946b..0000000 --- a/evolution-1.4.4-ldap-x86_64-hack.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up evolution-2.31.1/configure.ldaphack evolution-2.31.1/configure ---- evolution-2.31.1/configure.ldaphack 2010-05-03 12:43:34.000000000 +0200 -+++ evolution-2.31.1/configure 2010-05-03 19:22:55.000000000 +0200 -@@ -15797,7 +15797,7 @@ if test "${ac_cv_lib_ldap_ldap_open+set} - $as_echo_n "(cached) " >&6 - else - ac_check_lib_save_LIBS=$LIBS --LIBS="-lldap $LDAP_LDFLAGS $LDAP_LIBS $LIBS" -+LIBS="-lldap -lresolv $LDAP_LDFLAGS $LDAP_LIBS $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -16129,7 +16129,7 @@ if test "${ac_cv_lib_ldap_ldap_open+set} - $as_echo_n "(cached) " >&6 - else - ac_check_lib_save_LIBS=$LIBS --LIBS="-lldap $LDAP_LDFLAGS $LDAP_LIBS $LIBS" -+LIBS="-lldap -lresolv $LDAP_LDFLAGS $LDAP_LIBS $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - diff --git a/evolution-2.30.1-help-contents.patch b/evolution-2.30.1-help-contents.patch deleted file mode 100644 index 0b9e3be..0000000 --- a/evolution-2.30.1-help-contents.patch +++ /dev/null @@ -1,149 +0,0 @@ -diff -up evolution-3.13.6/addressbook/gui/contact-editor/e-contact-editor.c.help-contents evolution-3.13.6/addressbook/gui/contact-editor/e-contact-editor.c ---- evolution-3.13.6/addressbook/gui/contact-editor/e-contact-editor.c.help-contents 2014-09-22 09:15:05.051468361 +0200 -+++ evolution-3.13.6/addressbook/gui/contact-editor/e-contact-editor.c 2014-09-22 09:17:01.509463747 +0200 -@@ -4143,6 +4143,10 @@ e_contact_editor_init (EContactEditor *e - g_signal_connect ( - widget, "clicked", - G_CALLBACK (show_help_cb), e_contact_editor); -+ if (!e_misc_utils_is_help_package_installed ()) { -+ gtk_widget_set_sensitive (widget, FALSE); -+ gtk_widget_hide (widget); -+ } - - widget = e_builder_get_widget ( - e_contact_editor->priv->builder, "expander-contact-phone"); -diff -up evolution-3.13.6/calendar/gui/dialogs/comp-editor.c.help-contents evolution-3.13.6/calendar/gui/dialogs/comp-editor.c ---- evolution-3.13.6/calendar/gui/dialogs/comp-editor.c.help-contents 2014-04-11 09:21:59.000000000 +0200 -+++ evolution-3.13.6/calendar/gui/dialogs/comp-editor.c 2014-09-22 09:15:05.052468361 +0200 -@@ -2168,6 +2168,12 @@ comp_editor_init (CompEditor *editor) - G_BINDING_SYNC_CREATE); - } - -+ action = gtk_action_group_get_action (action_group, "help"); -+ if (action && !e_misc_utils_is_help_package_installed ()) { -+ gtk_action_set_visible (action, FALSE); -+ gtk_action_set_sensitive (action, FALSE); -+ } -+ - action_group = gtk_action_group_new ("individual"); - gtk_action_group_set_translation_domain ( - action_group, GETTEXT_PACKAGE); -diff -up evolution-3.13.6/e-util/e-misc-utils.c.help-contents evolution-3.13.6/e-util/e-misc-utils.c ---- evolution-3.13.6/e-util/e-misc-utils.c.help-contents 2014-07-11 08:47:35.000000000 +0200 -+++ evolution-3.13.6/e-util/e-misc-utils.c 2014-09-22 09:15:05.052468361 +0200 -@@ -2493,6 +2493,23 @@ e_binding_transform_uid_to_source (GBind - return success; - } - -+gboolean -+e_misc_utils_is_help_package_installed (void) -+{ -+ gboolean is_installed; -+ gchar *path; -+ -+ /* Viewing user documentation requires the evolution-help -+ * package. Look for one of the files it installs. */ -+ path = g_build_filename (EVOLUTION_DATADIR, "help", "C", PACKAGE, "index.page", NULL); -+ -+ is_installed = g_file_test (path, G_FILE_TEST_IS_REGULAR); -+ -+ g_free (path); -+ -+ return is_installed; -+} -+ - /** - * e_binding_transform_text_non_null: - * @binding: a #GBinding -diff -up evolution-3.13.6/e-util/e-misc-utils.h.help-contents evolution-3.13.6/e-util/e-misc-utils.h ---- evolution-3.13.6/e-util/e-misc-utils.h.help-contents 2014-07-07 12:45:01.000000000 +0200 -+++ evolution-3.13.6/e-util/e-misc-utils.h 2014-09-22 09:15:05.052468361 +0200 -@@ -229,6 +229,8 @@ gboolean e_binding_transform_uid_to_sour - GValue *target_value, - ESourceRegistry *registry); - -+gboolean e_misc_utils_is_help_package_installed (void); -+ - gboolean e_binding_transform_text_non_null - (GBinding *binding, - const GValue *source_value, -diff -up evolution-3.13.6/e-util/e-preferences-window.c.help-contents evolution-3.13.6/e-util/e-preferences-window.c ---- evolution-3.13.6/e-util/e-preferences-window.c.help-contents 2014-02-12 20:47:07.000000000 +0100 -+++ evolution-3.13.6/e-util/e-preferences-window.c 2014-09-22 09:15:05.053468361 +0200 -@@ -385,6 +385,11 @@ e_preferences_window_init (EPreferencesW - GTK_BUTTON_BOX (container), widget, TRUE); - gtk_widget_show (widget); - -+ if (!e_misc_utils_is_help_package_installed ()) { -+ gtk_widget_set_sensitive (widget, FALSE); -+ gtk_widget_hide (widget); -+ } -+ - widget = e_dialog_button_new_with_icon ("window-close", _("_Close")); - g_signal_connect_swapped ( - widget, "clicked", -diff -up evolution-3.13.6/e-util/e-send-options.c.help-contents evolution-3.13.6/e-util/e-send-options.c ---- evolution-3.13.6/e-util/e-send-options.c.help-contents 2014-03-27 15:05:39.000000000 +0100 -+++ evolution-3.13.6/e-util/e-send-options.c 2014-09-22 09:15:05.053468361 +0200 -@@ -439,6 +439,7 @@ get_widgets (ESendOptionsDialog *sod) - { - ESendOptionsDialogPrivate *priv; - GtkBuilder *builder; -+ GtkWidget *helpbutton; - - priv = sod->priv; - builder = sod->priv->builder; -@@ -478,6 +479,12 @@ get_widgets (ESendOptionsDialog *sod) - priv->accepted_label = e_builder_get_widget (builder, "accepted-label"); - priv->completed_label = e_builder_get_widget (builder, "completed-label"); - -+ helpbutton = e_builder_get_widget (builder, "helpbutton1"); -+ if (helpbutton && !e_misc_utils_is_help_package_installed ()) { -+ gtk_widget_set_sensitive (helpbutton, FALSE); -+ gtk_widget_hide (helpbutton); -+ } -+ - return (priv->priority - && priv->security - && priv->status -diff -up evolution-3.13.6/plugins/email-custom-header/email-custom-header.c.help-contents evolution-3.13.6/plugins/email-custom-header/email-custom-header.c ---- evolution-3.13.6/plugins/email-custom-header/email-custom-header.c.help-contents 2014-06-09 16:39:38.000000000 +0200 -+++ evolution-3.13.6/plugins/email-custom-header/email-custom-header.c 2014-09-22 09:15:05.053468361 +0200 -@@ -118,6 +118,8 @@ static gboolean - epech_get_widgets (CustomHeaderOptionsDialog *mch) - { - CustomHeaderOptionsDialogPrivate *priv; -+ GtkWidget *helpbutton; -+ - priv = mch->priv; - - #define EMAIL_CUSTOM_HEADER(name) e_builder_get_widget (priv->builder, name) -@@ -128,6 +130,13 @@ epech_get_widgets (CustomHeaderOptionsDi - - priv->page = EMAIL_CUSTOM_HEADER ("email-custom-header-vbox"); - priv->header_table = EMAIL_CUSTOM_HEADER ("email-custom-header-options"); -+ -+ helpbutton = EMAIL_CUSTOM_HEADER ("helpbutton1"); -+ if (helpbutton && !e_misc_utils_is_help_package_installed ()) { -+ gtk_widget_set_sensitive (helpbutton, FALSE); -+ gtk_widget_hide (helpbutton); -+ } -+ - #undef EMAIL_CUSTOM_HEADER - - return (priv->page -diff -up evolution-3.13.6/shell/e-shell-window-actions.c.help-contents evolution-3.13.6/shell/e-shell-window-actions.c ---- evolution-3.13.6/shell/e-shell-window-actions.c.help-contents 2014-03-07 14:49:13.000000000 +0100 -+++ evolution-3.13.6/shell/e-shell-window-actions.c 2014-09-22 09:15:05.053468361 +0200 -@@ -1458,6 +1458,11 @@ e_shell_window_actions_init (EShellWindo - if (path == NULL) - gtk_action_set_visible (ACTION (SUBMIT_BUG), FALSE); - g_free (path); -+ -+ if (!e_misc_utils_is_help_package_installed ()) { -+ gtk_action_set_visible (ACTION (CONTENTS), FALSE); -+ gtk_action_set_sensitive (ACTION (CONTENTS), FALSE); -+ } - } - - GtkWidget * diff --git a/evolution.spec b/evolution.spec index 0a92c35..ccb460b 100644 --- a/evolution.spec +++ b/evolution.spec @@ -28,7 +28,7 @@ ### Abstract ### Name: evolution -Version: 3.15.91 +Version: 3.15.92 Release: 1%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME @@ -43,11 +43,8 @@ Obsoletes: evolution-NetworkManager < %{last_evo_nm_version} ### Patches ### -# bad hack -Patch01: evolution-1.4.4-ldap-x86_64-hack.patch - -# RH bug #589555 -Patch02: evolution-2.30.1-help-contents.patch +# RH bug # +#Patch01: .patch ## Dependencies ### @@ -209,8 +206,7 @@ the functionality of the installed %{name} package. %prep %setup -q -n evolution-%{version} -%patch01 -p1 -b .ldaphack -%patch02 -p1 -b .help-contents +#%patch01 -p1 -b .backup # Remove the welcome email from Novell for inbox in mail/default/*/Inbox; do @@ -538,6 +534,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Mon Mar 16 2015 Milan Crha - 3.15.92-1 +- Update to 3.15.92 +- Remove obsolete patches (one unused and one fixed upstream) + * Mon Mar 02 2015 Milan Crha - 3.15.91-1 - Update to 3.15.91 diff --git a/sources b/sources index 4f26674..18cc69e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -141b78120d0e9c7882c532b3a3d401f0 evolution-3.15.91.tar.xz +f17f93d152c17d57b1b8075308698ffd evolution-3.15.92.tar.xz From 1296fae43b59980df5823cededf0bbb88a424d11 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 23 Mar 2015 11:44:30 +0100 Subject: [PATCH 04/15] Update to 3.16.0 --- .gitignore | 1 + evolution.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index bff7adf..31a1a0c 100644 --- a/.gitignore +++ b/.gitignore @@ -86,3 +86,4 @@ evolution-2.31.5.tar.bz2 /evolution-3.13.90.tar.xz /evolution-3.15.91.tar.xz /evolution-3.15.92.tar.xz +/evolution-3.16.0.tar.xz diff --git a/evolution.spec b/evolution.spec index ccb460b..e904843 100644 --- a/evolution.spec +++ b/evolution.spec @@ -28,14 +28,14 @@ ### Abstract ### Name: evolution -Version: 3.15.92 +Version: 3.16.0 Release: 1%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL URL: https://wiki.gnome.org/Apps/Evolution BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) -Source: http://download.gnome.org/sources/%{name}/3.15/%{name}-%{version}.tar.xz +Source: http://download.gnome.org/sources/%{name}/3.16/%{name}-%{version}.tar.xz Obsoletes: anjal <= %{last_anjal_version} Obsoletes: libgal2 <= %{last_libgal2_version} @@ -534,6 +534,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Mon Mar 23 2015 Milan Crha - 3.16.0-1 +- Update to 3.16.0 + * Mon Mar 16 2015 Milan Crha - 3.15.92-1 - Update to 3.15.92 - Remove obsolete patches (one unused and one fixed upstream) diff --git a/sources b/sources index 18cc69e..4372bbd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f17f93d152c17d57b1b8075308698ffd evolution-3.15.92.tar.xz +21f7a5c78af4b10dcfb469efcb18b901 evolution-3.16.0.tar.xz From d276554038eb4c39c0f07eb65002acb4fa1bce0d Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 13 Apr 2015 10:21:38 +0200 Subject: [PATCH 05/15] Update to 3.16.1 --- .gitignore | 1 + evolution.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 31a1a0c..065ebb1 100644 --- a/.gitignore +++ b/.gitignore @@ -87,3 +87,4 @@ evolution-2.31.5.tar.bz2 /evolution-3.15.91.tar.xz /evolution-3.15.92.tar.xz /evolution-3.16.0.tar.xz +/evolution-3.16.1.tar.xz diff --git a/evolution.spec b/evolution.spec index e904843..bc48578 100644 --- a/evolution.spec +++ b/evolution.spec @@ -28,7 +28,7 @@ ### Abstract ### Name: evolution -Version: 3.16.0 +Version: 3.16.1 Release: 1%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME @@ -534,6 +534,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Mon Apr 13 2015 Milan Crha - 3.16.1-1 +- Update to 3.16.1 + * Mon Mar 23 2015 Milan Crha - 3.16.0-1 - Update to 3.16.0 diff --git a/sources b/sources index 4372bbd..79c203f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -21f7a5c78af4b10dcfb469efcb18b901 evolution-3.16.0.tar.xz +aaafbc54e91b581d6fcc32edc68b371d evolution-3.16.1.tar.xz From 224b751e29572abf10483ade8070bf64aac13794 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 13 Apr 2015 13:29:01 +0200 Subject: [PATCH 06/15] Add forgotten new symbolic icon --- evolution.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/evolution.spec b/evolution.spec index bc48578..c565c12 100644 --- a/evolution.spec +++ b/evolution.spec @@ -370,6 +370,7 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/icons/hicolor/32x32/apps/* %{_datadir}/icons/hicolor/48x48/apps/* %{_datadir}/icons/hicolor/256x256/apps/* +%{_datadir}/icons/hicolor/symbolic/apps/* # The main data directory # (have not attempted to split this up into an explicit list) From a73061e962e964cbd90e44da1cfe5a757b013deb Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 11 May 2015 09:18:13 +0200 Subject: [PATCH 07/15] Update to 3.16.2.1 --- .gitignore | 1 + evolution.spec | 35 ++++++++++++++++++++++++----------- sources | 2 +- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 065ebb1..aa790c9 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,4 @@ evolution-2.31.5.tar.bz2 /evolution-3.15.92.tar.xz /evolution-3.16.0.tar.xz /evolution-3.16.1.tar.xz +/evolution-3.16.2.1.tar.xz diff --git a/evolution.spec b/evolution.spec index c565c12..2c6d5a1 100644 --- a/evolution.spec +++ b/evolution.spec @@ -28,7 +28,7 @@ ### Abstract ### Name: evolution -Version: 3.16.1 +Version: 3.16.2.1 Release: 1%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME @@ -70,7 +70,8 @@ BuildRequires: yelp-tools BuildRequires: pkgconfig(atk) BuildRequires: pkgconfig(cairo-gobject) -BuildRequires: pkgconfig(camel-1.2) >= %{version} +#BuildRequires: pkgconfig(camel-1.2) >= %{version} +BuildRequires: pkgconfig(camel-1.2) >= 3.16.2 BuildRequires: pkgconfig(cryptui-0.0) BuildRequires: pkgconfig(gail-3.0) >= %{gtk3_version} BuildRequires: pkgconfig(gcr-3) @@ -83,10 +84,14 @@ BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version} BuildRequires: pkgconfig(gtkspell3-3.0) BuildRequires: pkgconfig(gweather-3.0) >= %{libgweather_version} BuildRequires: pkgconfig(libcanberra-gtk3) -BuildRequires: pkgconfig(libebackend-1.2) >= %{version} -BuildRequires: pkgconfig(libebook-1.2) >= %{version} -BuildRequires: pkgconfig(libecal-1.2) >= %{version} -BuildRequires: pkgconfig(libedataserver-1.2) >= %{version} +#BuildRequires: pkgconfig(libebackend-1.2) >= %{version} +#BuildRequires: pkgconfig(libebook-1.2) >= %{version} +#BuildRequires: pkgconfig(libecal-1.2) >= %{version} +#BuildRequires: pkgconfig(libedataserver-1.2) >= %{version} +BuildRequires: pkgconfig(libebackend-1.2) >= 3.16.2 +BuildRequires: pkgconfig(libebook-1.2) >= 3.16.2 +BuildRequires: pkgconfig(libecal-1.2) >= 3.16.2 +BuildRequires: pkgconfig(libedataserver-1.2) >= 3.16.2 BuildRequires: pkgconfig(libgdata) >= %{libgdata_version} BuildRequires: pkgconfig(libsoup-2.4) >= %{libsoup_version} BuildRequires: pkgconfig(libxml-2.0) @@ -117,15 +122,20 @@ personal information-management tool. Group: Development/Libraries Summary: Development files for building against %{name} Requires: %{name} = %{version}-%{release} -Requires: pkgconfig(camel-1.2) >= %{version} +#Requires: pkgconfig(camel-1.2) >= %{version} +Requires: pkgconfig(camel-1.2) >= 3.16.2 Requires: pkgconfig(cryptui-0.0) Requires: pkgconfig(gtk+-3.0) >= %{gtk3_version} Requires: pkgconfig(gtkspell3-3.0) Requires: pkgconfig(gweather-3.0) >= %{libgweather_version} -Requires: pkgconfig(libebackend-1.2) >= %{version} -Requires: pkgconfig(libebook-1.2) >= %{version} -Requires: pkgconfig(libecal-1.2) >= %{version} -Requires: pkgconfig(libedataserver-1.2) >= %{version} +#Requires: pkgconfig(libebackend-1.2) >= %{version} +#Requires: pkgconfig(libebook-1.2) >= %{version} +#Requires: pkgconfig(libecal-1.2) >= %{version} +#Requires: pkgconfig(libedataserver-1.2) >= %{version} +Requires: pkgconfig(libebackend-1.2) >= 3.16.2 +Requires: pkgconfig(libebook-1.2) >= 3.16.2 +Requires: pkgconfig(libecal-1.2) >= 3.16.2 +Requires: pkgconfig(libedataserver-1.2) >= 3.16.2 Requires: pkgconfig(libgdata) >= %{libgdata_version} Requires: pkgconfig(libsoup-2.4) >= %{libsoup_version} Requires: pkgconfig(libxml-2.0) @@ -535,6 +545,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Mon May 11 2015 Milan Crha - 3.16.2.1-1 +- Update to 3.16.2.1 + * Mon Apr 13 2015 Milan Crha - 3.16.1-1 - Update to 3.16.1 diff --git a/sources b/sources index 79c203f..e8ebc2e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -aaafbc54e91b581d6fcc32edc68b371d evolution-3.16.1.tar.xz +8a81e82a9cb8a30c64ffd9997c516807 evolution-3.16.2.1.tar.xz From 06dd7b4aad32df4369c02d1c50ca51296b6d5c52 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 28 May 2015 16:37:13 +0200 Subject: [PATCH 08/15] Rebuild for libgdata soname bump --- evolution.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/evolution.spec b/evolution.spec index 2c6d5a1..ec85c25 100644 --- a/evolution.spec +++ b/evolution.spec @@ -29,7 +29,7 @@ Name: evolution Version: 3.16.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL @@ -545,6 +545,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Thu May 28 2015 Debarshi Ray - 3.16.2.1-2 +- Rebuild for libgdata soname bump + * Mon May 11 2015 Milan Crha - 3.16.2.1-1 - Update to 3.16.2.1 From 5bb7dc83bf6d22fbb0f93039c57f3b5c04e20eaf Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 8 Jun 2015 09:47:13 +0200 Subject: [PATCH 09/15] Update to 3.16.3 --- .gitignore | 1 + evolution.spec | 14 ++++++++++---- sources | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index aa790c9..f3baec3 100644 --- a/.gitignore +++ b/.gitignore @@ -89,3 +89,4 @@ evolution-2.31.5.tar.bz2 /evolution-3.16.0.tar.xz /evolution-3.16.1.tar.xz /evolution-3.16.2.1.tar.xz +/evolution-3.16.3.tar.xz diff --git a/evolution.spec b/evolution.spec index ec85c25..ba9a579 100644 --- a/evolution.spec +++ b/evolution.spec @@ -28,8 +28,8 @@ ### Abstract ### Name: evolution -Version: 3.16.2.1 -Release: 2%{?dist} +Version: 3.16.3 +Release: 1%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL @@ -239,9 +239,9 @@ if ! pkg-config --exists nss; then fi %if %{with_docs} -%define gtkdoc_flags --enable-gtk-doc +%define gtkdoc_flags --enable-gtk-doc --with-help %else -%define gtkdoc_flags --disable-gtk-doc +%define gtkdoc_flags --disable-gtk-doc --without-help %endif CPPFLAGS="-I%{_includedir}/et"; export CPPFLAGS @@ -315,7 +315,9 @@ find $RPM_BUILD_ROOT/%{_libdir}/evolution -name '*.a' -exec rm {} \; %find_lang evolution-%{evo_base_version} --all-name --with-gnome grep "/usr/share/locale" evolution-%{evo_base_version}.lang > translations.lang +%if %{with_docs} grep -v "/usr/share/locale" evolution-%{evo_base_version}.lang > help.lang +%endif %post /sbin/ldconfig @@ -545,6 +547,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Mon Jun 08 2015 Milan Crha - 3.16.3-1 +- Update to 3.16.3 +- Disable help build when gtk-doc is disabled + * Thu May 28 2015 Debarshi Ray - 3.16.2.1-2 - Rebuild for libgdata soname bump diff --git a/sources b/sources index e8ebc2e..412b97f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8a81e82a9cb8a30c64ffd9997c516807 evolution-3.16.2.1.tar.xz +7e57ba305abce7463aea133e95613ee0 evolution-3.16.3.tar.xz From d614a320e30069b76f94296cf585dc5a84948ada Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 8 Jun 2015 16:52:36 +0200 Subject: [PATCH 10/15] Add patch for RH bug #1229230 (Broken save of filter rules) --- evolution-3.16.3-filter-rules.patch | 20 ++++++++++++++ evolution.spec | 41 ++++++++++++----------------- 2 files changed, 37 insertions(+), 24 deletions(-) create mode 100644 evolution-3.16.3-filter-rules.patch diff --git a/evolution-3.16.3-filter-rules.patch b/evolution-3.16.3-filter-rules.patch new file mode 100644 index 0000000..460d065 --- /dev/null +++ b/evolution-3.16.3-filter-rules.patch @@ -0,0 +1,20 @@ +From 21b1070c48263ecb4c0a045644f1a80a3edfe2c5 Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Mon, 8 Jun 2015 14:25:16 +0200 +Subject: Bug 750560 - EFilterInput is storing multiple values instead of one + + +diff --git a/e-util/e-filter-input.c b/e-util/e-filter-input.c +index 3772ce1..dac0d5b 100644 +--- a/e-util/e-filter-input.c ++++ b/e-util/e-filter-input.c +@@ -300,6 +300,9 @@ filter_input_clone (EFilterElement *element) + clone_input->allow_empty = input->allow_empty; + clone_input->code_gen_func = g_strdup (input->code_gen_func); + ++ g_list_free_full (clone_input->values, g_free); ++ clone_input->values = NULL; ++ + for (link = input->values; link != NULL; link = g_list_next (link)) { + clone_input->values = g_list_prepend (clone_input->values, g_strdup (link->data)); + } diff --git a/evolution.spec b/evolution.spec index ba9a579..58bd30a 100644 --- a/evolution.spec +++ b/evolution.spec @@ -29,7 +29,7 @@ Name: evolution Version: 3.16.3 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL @@ -43,8 +43,8 @@ Obsoletes: evolution-NetworkManager < %{last_evo_nm_version} ### Patches ### -# RH bug # -#Patch01: .patch +# RH bug #1229230 +Patch01: evolution-3.16.3-filter-rules.patch ## Dependencies ### @@ -70,8 +70,7 @@ BuildRequires: yelp-tools BuildRequires: pkgconfig(atk) BuildRequires: pkgconfig(cairo-gobject) -#BuildRequires: pkgconfig(camel-1.2) >= %{version} -BuildRequires: pkgconfig(camel-1.2) >= 3.16.2 +BuildRequires: pkgconfig(camel-1.2) >= %{version} BuildRequires: pkgconfig(cryptui-0.0) BuildRequires: pkgconfig(gail-3.0) >= %{gtk3_version} BuildRequires: pkgconfig(gcr-3) @@ -84,14 +83,10 @@ BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version} BuildRequires: pkgconfig(gtkspell3-3.0) BuildRequires: pkgconfig(gweather-3.0) >= %{libgweather_version} BuildRequires: pkgconfig(libcanberra-gtk3) -#BuildRequires: pkgconfig(libebackend-1.2) >= %{version} -#BuildRequires: pkgconfig(libebook-1.2) >= %{version} -#BuildRequires: pkgconfig(libecal-1.2) >= %{version} -#BuildRequires: pkgconfig(libedataserver-1.2) >= %{version} -BuildRequires: pkgconfig(libebackend-1.2) >= 3.16.2 -BuildRequires: pkgconfig(libebook-1.2) >= 3.16.2 -BuildRequires: pkgconfig(libecal-1.2) >= 3.16.2 -BuildRequires: pkgconfig(libedataserver-1.2) >= 3.16.2 +BuildRequires: pkgconfig(libebackend-1.2) >= %{version} +BuildRequires: pkgconfig(libebook-1.2) >= %{version} +BuildRequires: pkgconfig(libecal-1.2) >= %{version} +BuildRequires: pkgconfig(libedataserver-1.2) >= %{version} BuildRequires: pkgconfig(libgdata) >= %{libgdata_version} BuildRequires: pkgconfig(libsoup-2.4) >= %{libsoup_version} BuildRequires: pkgconfig(libxml-2.0) @@ -122,20 +117,15 @@ personal information-management tool. Group: Development/Libraries Summary: Development files for building against %{name} Requires: %{name} = %{version}-%{release} -#Requires: pkgconfig(camel-1.2) >= %{version} -Requires: pkgconfig(camel-1.2) >= 3.16.2 +Requires: pkgconfig(camel-1.2) >= %{version} Requires: pkgconfig(cryptui-0.0) Requires: pkgconfig(gtk+-3.0) >= %{gtk3_version} Requires: pkgconfig(gtkspell3-3.0) Requires: pkgconfig(gweather-3.0) >= %{libgweather_version} -#Requires: pkgconfig(libebackend-1.2) >= %{version} -#Requires: pkgconfig(libebook-1.2) >= %{version} -#Requires: pkgconfig(libecal-1.2) >= %{version} -#Requires: pkgconfig(libedataserver-1.2) >= %{version} -Requires: pkgconfig(libebackend-1.2) >= 3.16.2 -Requires: pkgconfig(libebook-1.2) >= 3.16.2 -Requires: pkgconfig(libecal-1.2) >= 3.16.2 -Requires: pkgconfig(libedataserver-1.2) >= 3.16.2 +Requires: pkgconfig(libebackend-1.2) >= %{version} +Requires: pkgconfig(libebook-1.2) >= %{version} +Requires: pkgconfig(libecal-1.2) >= %{version} +Requires: pkgconfig(libedataserver-1.2) >= %{version} Requires: pkgconfig(libgdata) >= %{libgdata_version} Requires: pkgconfig(libsoup-2.4) >= %{libsoup_version} Requires: pkgconfig(libxml-2.0) @@ -216,7 +206,7 @@ the functionality of the installed %{name} package. %prep %setup -q -n evolution-%{version} -#%patch01 -p1 -b .backup +%patch01 -p1 -b .filter-rules # Remove the welcome email from Novell for inbox in mail/default/*/Inbox; do @@ -547,6 +537,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Mon Jun 08 2015 Milan Crha - 3.16.3-2 +- Add patch for RH bug #1229230 (Broken save of filter rules) + * Mon Jun 08 2015 Milan Crha - 3.16.3-1 - Update to 3.16.3 - Disable help build when gtk-doc is disabled From 93fcd52a738ec95314d89292c9db3f672bb4edec Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 13 Jul 2015 08:56:35 +0200 Subject: [PATCH 11/15] Update to 3.16.4 --- .gitignore | 1 + evolution-3.16.3-filter-rules.patch | 20 -------------------- evolution.spec | 17 ++++++++++------- sources | 2 +- 4 files changed, 12 insertions(+), 28 deletions(-) delete mode 100644 evolution-3.16.3-filter-rules.patch diff --git a/.gitignore b/.gitignore index f3baec3..8bb2278 100644 --- a/.gitignore +++ b/.gitignore @@ -90,3 +90,4 @@ evolution-2.31.5.tar.bz2 /evolution-3.16.1.tar.xz /evolution-3.16.2.1.tar.xz /evolution-3.16.3.tar.xz +/evolution-3.16.4.tar.xz diff --git a/evolution-3.16.3-filter-rules.patch b/evolution-3.16.3-filter-rules.patch deleted file mode 100644 index 460d065..0000000 --- a/evolution-3.16.3-filter-rules.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 21b1070c48263ecb4c0a045644f1a80a3edfe2c5 Mon Sep 17 00:00:00 2001 -From: Milan Crha -Date: Mon, 8 Jun 2015 14:25:16 +0200 -Subject: Bug 750560 - EFilterInput is storing multiple values instead of one - - -diff --git a/e-util/e-filter-input.c b/e-util/e-filter-input.c -index 3772ce1..dac0d5b 100644 ---- a/e-util/e-filter-input.c -+++ b/e-util/e-filter-input.c -@@ -300,6 +300,9 @@ filter_input_clone (EFilterElement *element) - clone_input->allow_empty = input->allow_empty; - clone_input->code_gen_func = g_strdup (input->code_gen_func); - -+ g_list_free_full (clone_input->values, g_free); -+ clone_input->values = NULL; -+ - for (link = input->values; link != NULL; link = g_list_next (link)) { - clone_input->values = g_list_prepend (clone_input->values, g_strdup (link->data)); - } diff --git a/evolution.spec b/evolution.spec index 58bd30a..608406f 100644 --- a/evolution.spec +++ b/evolution.spec @@ -28,8 +28,8 @@ ### Abstract ### Name: evolution -Version: 3.16.3 -Release: 2%{?dist} +Version: 3.16.4 +Release: 1%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL @@ -43,8 +43,8 @@ Obsoletes: evolution-NetworkManager < %{last_evo_nm_version} ### Patches ### -# RH bug #1229230 -Patch01: evolution-3.16.3-filter-rules.patch +# RH bug # +# Patch01: .patch ## Dependencies ### @@ -206,7 +206,7 @@ the functionality of the installed %{name} package. %prep %setup -q -n evolution-%{version} -%patch01 -p1 -b .filter-rules +#%patch01 -p1 -b .filter-rules # Remove the welcome email from Novell for inbox in mail/default/*/Inbox; do @@ -234,8 +234,7 @@ fi %define gtkdoc_flags --disable-gtk-doc --without-help %endif -CPPFLAGS="-I%{_includedir}/et"; export CPPFLAGS -CFLAGS="$RPM_OPT_FLAGS -fPIC -DLDAP_DEPRECATED -I%{_includedir}/et -Wno-sign-compare -Wno-deprecated-declarations"; export CFLAGS +CFLAGS="$RPM_OPT_FLAGS -fPIC -DLDAP_DEPRECATED -Wno-sign-compare -Wno-deprecated-declarations"; export CFLAGS # Regenerate configure to pick up configure.ac changes aclocal -I m4 @@ -537,6 +536,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Mon Jul 13 2015 Milan Crha - 3.16.4-1 +- Update to 3.16.4 +- Remove patch for RH bug #1229230 (Fixed upstream) + * Mon Jun 08 2015 Milan Crha - 3.16.3-2 - Add patch for RH bug #1229230 (Broken save of filter rules) diff --git a/sources b/sources index 412b97f..aafb5d3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7e57ba305abce7463aea133e95613ee0 evolution-3.16.3.tar.xz +5c1fe296b7c66cba711891d28a14a441 evolution-3.16.4.tar.xz From 2c3026b37a58aee2c5b7f0675ad20cb2b4af9080 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Thu, 16 Jul 2015 15:10:09 +0200 Subject: [PATCH 12/15] Add patch for RH bug #1243680 (Replacement of misspelled word doesn't work in composer) --- evolution-3.16.4-composer-issues.patch | 122 +++++++++++++++++++++++++ evolution.spec | 11 ++- 2 files changed, 129 insertions(+), 4 deletions(-) create mode 100644 evolution-3.16.4-composer-issues.patch diff --git a/evolution-3.16.4-composer-issues.patch b/evolution-3.16.4-composer-issues.patch new file mode 100644 index 0000000..828f8b0 --- /dev/null +++ b/evolution-3.16.4-composer-issues.patch @@ -0,0 +1,122 @@ +From 410c434c48657ea49ac05dffc9f5d8c6a7d282bc Mon Sep 17 00:00:00 2001 +From: Tomas Popela +Date: Thu, 16 Jul 2015 14:26:30 +0200 +Subject: Bug 751225 - Spell check selection changes font settings to initial settings + +Do the replace ourselves as the PasteAndmatchStyle function operates on clipboard's +content and doesn't accept the replacement that we pass to it. + +From 27c003010fd4cc00ebdc458d3f10f206ef79f129 Mon Sep 17 00:00:00 2001 +From: Tomas Popela +Date: Thu, 16 Jul 2015 14:22:19 +0200 +Subject: EHTMLEditorSelection - Copy&pasting quoted content in plain text composer preserves formatting + +From ca9718a86a90ad24adbfc14fc4dca0998c3f94c8 Mon Sep 17 00:00:00 2001 +From: Tomas Popela +Date: Thu, 16 Jul 2015 14:21:30 +0200 +Subject: EHTMLEditorView - Pasting content from message source into plain text composer preserves formatting + +diff --git a/e-util/e-html-editor-selection.c b/e-util/e-html-editor-selection.c +index d410518..61d1079 100644 +--- a/e-util/e-html-editor-selection.c ++++ b/e-util/e-html-editor-selection.c +@@ -996,8 +996,10 @@ e_html_editor_selection_replace_caret_word (EHTMLEditorSelection *selection, + EHTMLEditorView *view; + WebKitWebView *web_view; + WebKitDOMDocument *document; ++ WebKitDOMDocumentFragment *fragment; + WebKitDOMDOMWindow *dom_window; + WebKitDOMDOMSelection *dom_selection; ++ WebKitDOMNode *node; + WebKitDOMRange *range; + + g_return_if_fail (E_IS_HTML_EDITOR_SELECTION (selection)); +@@ -1015,14 +1017,40 @@ e_html_editor_selection_replace_caret_word (EHTMLEditorSelection *selection, + + webkit_dom_range_expand (range, "word", NULL); + webkit_dom_dom_selection_add_range (dom_selection, range); +- g_object_unref (range); +- g_object_unref (dom_selection); +- g_object_unref (dom_window); + +- e_html_editor_view_exec_command ( +- view, E_HTML_EDITOR_VIEW_COMMAND_PASTE_AND_MATCH_STYLE, replacement); ++ fragment = webkit_dom_range_extract_contents (range, NULL); ++ ++ /* Get the text node to replace and leave other formatting nodes ++ * untouched (font color, boldness, ...). */ ++ webkit_dom_node_normalize (WEBKIT_DOM_NODE (fragment)); ++ node = webkit_dom_node_get_first_child (WEBKIT_DOM_NODE (fragment)); ++ if (!WEBKIT_DOM_IS_TEXT (node)) { ++ while (node && WEBKIT_DOM_IS_ELEMENT (node)) ++ node = webkit_dom_node_get_first_child (node); ++ } ++ ++ if (node && WEBKIT_DOM_IS_TEXT (node)) { ++ WebKitDOMText *text; ++ ++ /* Replace the word */ ++ text = webkit_dom_document_create_text_node (document, replacement); ++ webkit_dom_node_replace_child ( ++ webkit_dom_node_get_parent_node (node), ++ WEBKIT_DOM_NODE (text), ++ node, ++ NULL); ++ ++ /* Insert the word on current location. */ ++ webkit_dom_range_insert_node (range, WEBKIT_DOM_NODE (fragment), NULL); ++ ++ webkit_dom_dom_selection_collapse_to_end (dom_selection, NULL); ++ } ++ + e_html_editor_view_force_spell_check_for_current_paragraph (view); + ++ g_object_unref (range); ++ g_object_unref (dom_selection); ++ g_object_unref (dom_window); + g_object_unref (view); + } + +@@ -5684,6 +5684,19 @@ e_html_editor_selection_insert_text (EHTMLEditorSelection *selection, + g_object_unref (view); + } + ++static gboolean ++pasting_quoted_content (const gchar *content) ++{ ++ /* Check if the content we are pasting is a quoted content from composer. ++ * If it is, we can't use WebKit to paste it as it would leave the formatting ++ * on the content. */ ++ return g_str_has_prefix ( ++ content, ++ "
owner) ++ if (!event->owner || !view->priv->can_copy) + view->priv->copy_paste_primary_in_view = FALSE; + } + diff --git a/evolution.spec b/evolution.spec index 608406f..6c3f917 100644 --- a/evolution.spec +++ b/evolution.spec @@ -29,7 +29,7 @@ Name: evolution Version: 3.16.4 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL @@ -43,8 +43,8 @@ Obsoletes: evolution-NetworkManager < %{last_evo_nm_version} ### Patches ### -# RH bug # -# Patch01: .patch +# RH bug #1243680 +Patch01: evolution-3.16.4-composer-issues.patch ## Dependencies ### @@ -206,7 +206,7 @@ the functionality of the installed %{name} package. %prep %setup -q -n evolution-%{version} -#%patch01 -p1 -b .filter-rules +%patch01 -p1 -b .composer-issues # Remove the welcome email from Novell for inbox in mail/default/*/Inbox; do @@ -536,6 +536,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Thu Jul 16 2015 Milan Crha - 3.16.4-2 +- Add patch for RH bug #1243680 (Replacement of misspelled word doesn't work in composer) + * Mon Jul 13 2015 Milan Crha - 3.16.4-1 - Update to 3.16.4 - Remove patch for RH bug #1229230 (Fixed upstream) From 6d655c864e5032137360f407f0e3911821d36732 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 10 Aug 2015 07:40:45 +0200 Subject: [PATCH 13/15] Update to 3.16.5 --- .gitignore | 1 + evolution-3.16.4-composer-issues.patch | 122 ------------------------- evolution.spec | 12 ++- sources | 2 +- 4 files changed, 10 insertions(+), 127 deletions(-) delete mode 100644 evolution-3.16.4-composer-issues.patch diff --git a/.gitignore b/.gitignore index 8bb2278..a20ddde 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,4 @@ evolution-2.31.5.tar.bz2 /evolution-3.16.2.1.tar.xz /evolution-3.16.3.tar.xz /evolution-3.16.4.tar.xz +/evolution-3.16.5.tar.xz diff --git a/evolution-3.16.4-composer-issues.patch b/evolution-3.16.4-composer-issues.patch deleted file mode 100644 index 828f8b0..0000000 --- a/evolution-3.16.4-composer-issues.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 410c434c48657ea49ac05dffc9f5d8c6a7d282bc Mon Sep 17 00:00:00 2001 -From: Tomas Popela -Date: Thu, 16 Jul 2015 14:26:30 +0200 -Subject: Bug 751225 - Spell check selection changes font settings to initial settings - -Do the replace ourselves as the PasteAndmatchStyle function operates on clipboard's -content and doesn't accept the replacement that we pass to it. - -From 27c003010fd4cc00ebdc458d3f10f206ef79f129 Mon Sep 17 00:00:00 2001 -From: Tomas Popela -Date: Thu, 16 Jul 2015 14:22:19 +0200 -Subject: EHTMLEditorSelection - Copy&pasting quoted content in plain text composer preserves formatting - -From ca9718a86a90ad24adbfc14fc4dca0998c3f94c8 Mon Sep 17 00:00:00 2001 -From: Tomas Popela -Date: Thu, 16 Jul 2015 14:21:30 +0200 -Subject: EHTMLEditorView - Pasting content from message source into plain text composer preserves formatting - -diff --git a/e-util/e-html-editor-selection.c b/e-util/e-html-editor-selection.c -index d410518..61d1079 100644 ---- a/e-util/e-html-editor-selection.c -+++ b/e-util/e-html-editor-selection.c -@@ -996,8 +996,10 @@ e_html_editor_selection_replace_caret_word (EHTMLEditorSelection *selection, - EHTMLEditorView *view; - WebKitWebView *web_view; - WebKitDOMDocument *document; -+ WebKitDOMDocumentFragment *fragment; - WebKitDOMDOMWindow *dom_window; - WebKitDOMDOMSelection *dom_selection; -+ WebKitDOMNode *node; - WebKitDOMRange *range; - - g_return_if_fail (E_IS_HTML_EDITOR_SELECTION (selection)); -@@ -1015,14 +1017,40 @@ e_html_editor_selection_replace_caret_word (EHTMLEditorSelection *selection, - - webkit_dom_range_expand (range, "word", NULL); - webkit_dom_dom_selection_add_range (dom_selection, range); -- g_object_unref (range); -- g_object_unref (dom_selection); -- g_object_unref (dom_window); - -- e_html_editor_view_exec_command ( -- view, E_HTML_EDITOR_VIEW_COMMAND_PASTE_AND_MATCH_STYLE, replacement); -+ fragment = webkit_dom_range_extract_contents (range, NULL); -+ -+ /* Get the text node to replace and leave other formatting nodes -+ * untouched (font color, boldness, ...). */ -+ webkit_dom_node_normalize (WEBKIT_DOM_NODE (fragment)); -+ node = webkit_dom_node_get_first_child (WEBKIT_DOM_NODE (fragment)); -+ if (!WEBKIT_DOM_IS_TEXT (node)) { -+ while (node && WEBKIT_DOM_IS_ELEMENT (node)) -+ node = webkit_dom_node_get_first_child (node); -+ } -+ -+ if (node && WEBKIT_DOM_IS_TEXT (node)) { -+ WebKitDOMText *text; -+ -+ /* Replace the word */ -+ text = webkit_dom_document_create_text_node (document, replacement); -+ webkit_dom_node_replace_child ( -+ webkit_dom_node_get_parent_node (node), -+ WEBKIT_DOM_NODE (text), -+ node, -+ NULL); -+ -+ /* Insert the word on current location. */ -+ webkit_dom_range_insert_node (range, WEBKIT_DOM_NODE (fragment), NULL); -+ -+ webkit_dom_dom_selection_collapse_to_end (dom_selection, NULL); -+ } -+ - e_html_editor_view_force_spell_check_for_current_paragraph (view); - -+ g_object_unref (range); -+ g_object_unref (dom_selection); -+ g_object_unref (dom_window); - g_object_unref (view); - } - -@@ -5684,6 +5684,19 @@ e_html_editor_selection_insert_text (EHTMLEditorSelection *selection, - g_object_unref (view); - } - -+static gboolean -+pasting_quoted_content (const gchar *content) -+{ -+ /* Check if the content we are pasting is a quoted content from composer. -+ * If it is, we can't use WebKit to paste it as it would leave the formatting -+ * on the content. */ -+ return g_str_has_prefix ( -+ content, -+ "
owner) -+ if (!event->owner || !view->priv->can_copy) - view->priv->copy_paste_primary_in_view = FALSE; - } - diff --git a/evolution.spec b/evolution.spec index 6c3f917..c62fc54 100644 --- a/evolution.spec +++ b/evolution.spec @@ -28,8 +28,8 @@ ### Abstract ### Name: evolution -Version: 3.16.4 -Release: 2%{?dist} +Version: 3.16.5 +Release: 1%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL @@ -44,7 +44,7 @@ Obsoletes: evolution-NetworkManager < %{last_evo_nm_version} ### Patches ### # RH bug #1243680 -Patch01: evolution-3.16.4-composer-issues.patch +#Patch01: evolution-3.16.4-composer-issues.patch ## Dependencies ### @@ -206,7 +206,7 @@ the functionality of the installed %{name} package. %prep %setup -q -n evolution-%{version} -%patch01 -p1 -b .composer-issues +#%patch01 -p1 -b .composer-issues # Remove the welcome email from Novell for inbox in mail/default/*/Inbox; do @@ -536,6 +536,10 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Mon Aug 10 2015 Milan Crha - 3.16.5-1 +- Update to 3.16.5 +- Remove patch for RH bug #1243680 (Fixed upstream) + * Thu Jul 16 2015 Milan Crha - 3.16.4-2 - Add patch for RH bug #1243680 (Replacement of misspelled word doesn't work in composer) diff --git a/sources b/sources index aafb5d3..31d8e18 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5c1fe296b7c66cba711891d28a14a441 evolution-3.16.4.tar.xz +f9182138883391727e78a6ac7f7b80d7 evolution-3.16.5.tar.xz From 0b571c5be2f8eddde80d6868e5813f2958f9eb2d Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Wed, 19 Aug 2015 17:25:43 +0200 Subject: [PATCH 14/15] Add patch for RH bug #1231591 (Crash when viewing message digest) --- evolution-3.16.5-crash-message-digest.patch | 182 ++++++++++++++++++++ evolution.spec | 11 +- 2 files changed, 189 insertions(+), 4 deletions(-) create mode 100644 evolution-3.16.5-crash-message-digest.patch diff --git a/evolution-3.16.5-crash-message-digest.patch b/evolution-3.16.5-crash-message-digest.patch new file mode 100644 index 0000000..0262762 --- /dev/null +++ b/evolution-3.16.5-crash-message-digest.patch @@ -0,0 +1,182 @@ +diff -up evolution-3.16.5/em-format/e-mail-formatter-attachment.c.crash-message-digest evolution-3.16.5/em-format/e-mail-formatter-attachment.c +--- evolution-3.16.5/em-format/e-mail-formatter-attachment.c.crash-message-digest 2015-05-29 12:40:05.000000000 +0200 ++++ evolution-3.16.5/em-format/e-mail-formatter-attachment.c 2015-08-19 17:22:36.616380858 +0200 +@@ -320,7 +320,7 @@ emfe_attachment_format (EMailFormatterEx + } + + if (success) { +- gchar *wrapper_element_id, *inner_html_data; ++ gchar *wrapper_element_id; + gconstpointer data; + gsize size; + +@@ -332,20 +332,33 @@ emfe_attachment_format (EMailFormatterEx + size = g_memory_output_stream_get_data_size ( + G_MEMORY_OUTPUT_STREAM (content_stream)); + +- inner_html_data = g_markup_escape_text (data, size); +- + g_string_append_printf ( + buffer, + "" +- "
", +- wrapper_element_id, inner_html_data); ++ "
"); ++ g_string_append_len (buffer, data, size); ++ } else { ++ gchar *inner_html_data; ++ ++ inner_html_data = g_markup_escape_text (data, size); ++ ++ g_string_append_printf ( ++ buffer, ++ " inner-html-data=\"%s\">", ++ inner_html_data); ++ ++ g_free (inner_html_data); ++ } + + g_string_append (buffer, "
"); + +- e_mail_part_attachment_set_expandable (E_MAIL_PART_ATTACHMENT (part), TRUE); ++ e_mail_part_attachment_set_expandable (empa, TRUE); + + g_free (wrapper_element_id); +- g_free (inner_html_data); + } + + g_object_unref (content_stream); +diff -up evolution-3.16.5/em-format/e-mail-part.c.crash-message-digest evolution-3.16.5/em-format/e-mail-part.c +--- evolution-3.16.5/em-format/e-mail-part.c.crash-message-digest 2014-03-24 10:25:23.000000000 +0100 ++++ evolution-3.16.5/em-format/e-mail-part.c 2015-08-19 17:22:36.616380858 +0200 +@@ -26,10 +26,15 @@ + * message. + */ + ++#ifdef HAVE_CONFIG_H ++#include ++#endif ++ + #include "e-mail-part.h" + + #include + ++#include "e-mail-part-attachment.h" + #include "e-mail-part-list.h" + + #define E_MAIL_PART_GET_PRIVATE(obj) \ +@@ -441,6 +446,46 @@ e_mail_part_set_mime_type (EMailPart *pa + g_object_notify (G_OBJECT (part), "mime-type"); + } + ++gboolean ++e_mail_part_should_show_inline (EMailPart *part) ++{ ++ CamelMimePart *mime_part; ++ const CamelContentDisposition *disposition; ++ gboolean res = FALSE; ++ ++ g_return_val_if_fail (E_IS_MAIL_PART (part), FALSE); ++ ++ /* Automatically expand attachments that have inline ++ * disposition or the EMailParts have specific ++ * force_inline flag set. */ ++ ++ if (part->force_collapse) ++ return FALSE; ++ ++ if (part->force_inline) ++ return TRUE; ++ ++ if (E_IS_MAIL_PART_ATTACHMENT (part)) { ++ EMailPartAttachment *empa = E_MAIL_PART_ATTACHMENT (part); ++ ++ if (g_strcmp0 (empa->snoop_mime_type, "message/rfc822") == 0) ++ return TRUE; ++ } ++ ++ mime_part = e_mail_part_ref_mime_part (part); ++ if (!mime_part) ++ return FALSE; ++ ++ disposition = camel_mime_part_get_content_disposition (mime_part); ++ if (disposition && disposition->disposition && ++ g_ascii_strncasecmp (disposition->disposition, "inline", 6) == 0) ++ res = TRUE; ++ ++ g_object_unref (mime_part); ++ ++ return res; ++} ++ + EMailPartList * + e_mail_part_ref_part_list (EMailPart *part) + { +diff -up evolution-3.16.5/em-format/e-mail-part.h.crash-message-digest evolution-3.16.5/em-format/e-mail-part.h +--- evolution-3.16.5/em-format/e-mail-part.h.crash-message-digest 2014-03-24 10:25:23.000000000 +0100 ++++ evolution-3.16.5/em-format/e-mail-part.h 2015-08-19 17:22:36.616380858 +0200 +@@ -107,6 +107,7 @@ CamelMimePart * e_mail_part_ref_mime_par + const gchar * e_mail_part_get_mime_type (EMailPart *part); + void e_mail_part_set_mime_type (EMailPart *part, + const gchar *mime_type); ++gboolean e_mail_part_should_show_inline (EMailPart *part); + struct _EMailPartList * + e_mail_part_ref_part_list (EMailPart *part); + void e_mail_part_set_part_list (EMailPart *part, +diff -up evolution-3.16.5/mail/e-mail-display.c.crash-message-digest evolution-3.16.5/mail/e-mail-display.c +--- evolution-3.16.5/mail/e-mail-display.c.crash-message-digest 2015-05-29 12:40:05.000000000 +0200 ++++ evolution-3.16.5/mail/e-mail-display.c 2015-08-19 17:23:52.369377648 +0200 +@@ -471,6 +471,8 @@ attachment_button_expanded (GObject *obj + + html_element = WEBKIT_DOM_HTML_ELEMENT (element); + webkit_dom_html_element_set_inner_html (html_element, inner_html_data, NULL); ++ ++ webkit_dom_element_remove_attribute (element, "inner-html-data"); + } + + g_free (inner_html_data); +@@ -668,9 +670,6 @@ mail_display_plugin_widget_requested (We + e_mail_part_attachment_get_expandable (empa)); + + if (e_mail_part_attachment_get_expandable (empa)) { +- CamelMimePart *mime_part; +- const CamelContentDisposition *disposition; +- + /* Show/hide the attachment when the EAttachmentButton + * is expanded/collapsed or shown/hidden. */ + g_signal_connect ( +@@ -682,20 +681,7 @@ mail_display_plugin_widget_requested (We + G_CALLBACK (attachment_button_expanded), + display); + +- mime_part = e_mail_part_ref_mime_part (part); +- +- /* Automatically expand attachments that have inline +- * disposition or the EMailParts have specific +- * force_inline flag set. */ +- disposition = +- camel_mime_part_get_content_disposition (mime_part); +- if (!part->force_collapse && +- (part->force_inline || +- (g_strcmp0 (empa->snoop_mime_type, "message/rfc822") == 0) || +- (disposition && disposition->disposition && +- g_ascii_strncasecmp ( +- disposition->disposition, "inline", 6) == 0))) { +- ++ if (e_mail_part_should_show_inline (part)) { + e_attachment_button_set_expanded ( + E_ATTACHMENT_BUTTON (widget), TRUE); + } else { +@@ -704,8 +690,6 @@ mail_display_plugin_widget_requested (We + attachment_button_expanded ( + G_OBJECT (widget), NULL, display); + } +- +- g_object_unref (mime_part); + } + } + diff --git a/evolution.spec b/evolution.spec index c62fc54..9f86d5d 100644 --- a/evolution.spec +++ b/evolution.spec @@ -29,7 +29,7 @@ Name: evolution Version: 3.16.5 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL @@ -43,8 +43,8 @@ Obsoletes: evolution-NetworkManager < %{last_evo_nm_version} ### Patches ### -# RH bug #1243680 -#Patch01: evolution-3.16.4-composer-issues.patch +# RH bug #1231591 +Patch01: evolution-3.16.5-crash-message-digest.patch ## Dependencies ### @@ -206,7 +206,7 @@ the functionality of the installed %{name} package. %prep %setup -q -n evolution-%{version} -#%patch01 -p1 -b .composer-issues +%patch01 -p1 -b .crash-message-digest # Remove the welcome email from Novell for inbox in mail/default/*/Inbox; do @@ -536,6 +536,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Wed Aug 19 2015 Milan Crha - 3.16.5-2 +- Add patch for RH bug #1231591 (Crash when viewing message digest) + * Mon Aug 10 2015 Milan Crha - 3.16.5-1 - Update to 3.16.5 - Remove patch for RH bug #1243680 (Fixed upstream) From 27842171328eb6782cfc76b3bf9cd1ac7cdffe08 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Tue, 8 Sep 2015 07:50:12 +0200 Subject: [PATCH 15/15] Add pkgconfig(iso-codes) into BuildRequires --- evolution.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/evolution.spec b/evolution.spec index 9f86d5d..b55cc96 100644 --- a/evolution.spec +++ b/evolution.spec @@ -29,7 +29,7 @@ Name: evolution Version: 3.16.5 -Release: 2%{?dist} +Release: 3%{?dist} Group: Applications/Productivity Summary: Mail and calendar client for GNOME License: GPLv2+ and GFDL @@ -82,6 +82,7 @@ BuildRequires: pkgconfig(gsettings-desktop-schemas) BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version} BuildRequires: pkgconfig(gtkspell3-3.0) BuildRequires: pkgconfig(gweather-3.0) >= %{libgweather_version} +BuildRequires: pkgconfig(iso-codes) BuildRequires: pkgconfig(libcanberra-gtk3) BuildRequires: pkgconfig(libebackend-1.2) >= %{version} BuildRequires: pkgconfig(libebook-1.2) >= %{version} @@ -536,6 +537,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/installed-tests %changelog +* Tue Sep 08 2015 Milan Crha - 3.16.5-3 +- Add pkgconfig(iso-codes) into BuildRequires + * Wed Aug 19 2015 Milan Crha - 3.16.5-2 - Add patch for RH bug #1231591 (Crash when viewing message digest)