aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Popela <tpopela@redhat.com>2014-07-22 15:53:14 +0800
committerTomas Popela <tpopela@redhat.com>2014-07-22 15:53:14 +0800
commit1e50111cf877d283df29954524f0ab23b535dac0 (patch)
treea498f248b76b90969796db4a1785b5921bc59d1b
parentb3e10763baca2533dcb7d6a36cbd64d9b2e376a9 (diff)
downloadgsoc2013-evolution-1e50111cf877d283df29954524f0ab23b535dac0.tar
gsoc2013-evolution-1e50111cf877d283df29954524f0ab23b535dac0.tar.gz
gsoc2013-evolution-1e50111cf877d283df29954524f0ab23b535dac0.tar.bz2
gsoc2013-evolution-1e50111cf877d283df29954524f0ab23b535dac0.tar.lz
gsoc2013-evolution-1e50111cf877d283df29954524f0ab23b535dac0.tar.xz
gsoc2013-evolution-1e50111cf877d283df29954524f0ab23b535dac0.tar.zst
gsoc2013-evolution-1e50111cf877d283df29954524f0ab23b535dac0.zip
Bug 733477 - Paste can select following text
When pasting the content that was copied from the composer, WebKit restores the selection wrongly, thus is saved wrongly and we have to fix it.
-rw-r--r--e-util/e-html-editor-view.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/e-util/e-html-editor-view.c b/e-util/e-html-editor-view.c
index d78baa423b..480d6812fa 100644
--- a/e-util/e-html-editor-view.c
+++ b/e-util/e-html-editor-view.c
@@ -4386,6 +4386,23 @@ html_editor_view_insert_converted_html_into_selection (EHTMLEditorView *view,
if (!has_selection)
remove_node (parent);
+ } else {
+ /* When pasting the content that was copied from the composer, WebKit
+ * restores the selection wrongly, thus is saved wrongly and we have
+ * to fix it */
+ WebKitDOMElement *selection_start_marker, *selection_end_marker;
+
+ 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");
+ webkit_dom_node_insert_before (
+ webkit_dom_node_get_parent_node (
+ WEBKIT_DOM_NODE (selection_start_marker)),
+ WEBKIT_DOM_NODE (selection_end_marker),
+ webkit_dom_node_get_next_sibling (
+ WEBKIT_DOM_NODE (selection_start_marker)),
+ NULL);
}
e_html_editor_selection_restore (selection);