[evolution/wip/mcrha/webkit-jsc-api: 217/292] Selection misplaced after SetBlockFormat() with collapsed selection



commit 5e3e04ee0f85b0beda8b41b4181204addcca4fc0
Author: Milan Crha <mcrha redhat com>
Date:   Mon Nov 4 10:17:40 2019 +0100

    Selection misplaced after SetBlockFormat() with collapsed selection

 data/webkit/e-editor.js    | 6 ++++--
 data/webkit/e-selection.js | 2 +-
 2 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/data/webkit/e-editor.js b/data/webkit/e-editor.js
index 78f8010980..dcb96d3692 100644
--- a/data/webkit/e-editor.js
+++ b/data/webkit/e-editor.js
@@ -843,8 +843,10 @@ EvoEditor.SetBlockFormat = function(format)
 
        traversar.selectionBaseNode = document.getSelection().baseNode;
        traversar.selectionBaseOffset = document.getSelection().baseOffset;
-       traversar.selectionExtentNode = document.getSelection().extentNode;
-       traversar.selectionExtentOffset = document.getSelection().extentOffset;
+       if (!document.getSelection().isCollapsed) {
+               traversar.selectionExtentNode = document.getSelection().extentNode;
+               traversar.selectionExtentOffset = document.getSelection().extentOffset;
+       }
 
        try {
                EvoEditor.ForeachChildInAffectedContent(affected, traversar);
diff --git a/data/webkit/e-selection.js b/data/webkit/e-selection.js
index f48b9e1161..e56e45fcf6 100644
--- a/data/webkit/e-selection.js
+++ b/data/webkit/e-selection.js
@@ -116,7 +116,7 @@ EvoSelection.GetTextOffsetNode = function(element, textOffset)
                }
        }
 
-       return node ? node : adept;
+       return node ? node : (adept ? adept : element);
 }
 
 /* Returns an object, where the current selection in the doc is stored */


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