[evolution/gnome-3-16] EHTMLEditorSelection - When restoring selection and no range is in composer, create it



commit cc9d5f742effab3d0414d1b22e5b2fbb4b167a3e
Author: Tomas Popela <tpopela redhat com>
Date:   Thu Apr 2 14:14:01 2015 +0200

    EHTMLEditorSelection - When restoring selection and no range is in composer, create it

 e-util/e-html-editor-selection.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/e-util/e-html-editor-selection.c b/e-util/e-html-editor-selection.c
index fc143c7..e447c78 100644
--- a/e-util/e-html-editor-selection.c
+++ b/e-util/e-html-editor-selection.c
@@ -6932,9 +6932,14 @@ e_html_editor_selection_restore (EHTMLEditorSelection *selection)
        range = webkit_dom_dom_selection_get_range_at (dom_selection, 0, NULL);
        g_object_unref (dom_window);
        if (!range) {
-               g_object_unref (dom_selection);
-               remove_selection_markers (document);
-               return;
+               WebKitDOMHTMLElement *body;
+
+               range = webkit_dom_document_create_range (document);
+               body = webkit_dom_document_get_body (document);
+
+               webkit_dom_range_select_node_contents (range, WEBKIT_DOM_NODE (body), NULL);
+               webkit_dom_range_collapse (range, TRUE, NULL);
+               webkit_dom_dom_selection_add_range (dom_selection, range);
        }
 
        selection_start_marker = webkit_dom_range_get_start_container (range, NULL);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]