mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-06-23 15:30:45 -04:00
Fix #1895472 [Private bug](https://bugs.launchpad.net/calibre/+bug/1895472)
This commit is contained in:
parent
940342b1b1
commit
52cf15fc23
@ -114,7 +114,7 @@ def create_wrapper_function(wrapper_elem, r, intersecting_wrappers, process_wrap
|
|||||||
current_range.setEnd(node, end_offset)
|
current_range.setEnd(node, end_offset)
|
||||||
end_node = current_wrapper
|
end_node = current_wrapper
|
||||||
end_offset = 1
|
end_offset = 1
|
||||||
crw = node.parentNode.dataset.calibreRangeWrapper
|
crw = node.parentNode?.dataset?.calibreRangeWrapper
|
||||||
if crw:
|
if crw:
|
||||||
intersecting_wrappers[crw] = True
|
intersecting_wrappers[crw] = True
|
||||||
current_range.surroundContents(current_wrapper)
|
current_range.surroundContents(current_wrapper)
|
||||||
|
@ -389,9 +389,11 @@ def decode(cfi, doc):
|
|||||||
orig_offset = offset
|
orig_offset = offset
|
||||||
if node.parentNode?.nodeType is Node.ELEMENT_NODE and node.parentNode.dataset.calibreRangeWrapper:
|
if node.parentNode?.nodeType is Node.ELEMENT_NODE and node.parentNode.dataset.calibreRangeWrapper:
|
||||||
node = node.parentNode
|
node = node.parentNode
|
||||||
node, offset, ok = node_for_text_offset(node.parentNode.childNodes, offset, node)
|
qnode, offset, ok = node_for_text_offset(node.parentNode.childNodes, offset, node)
|
||||||
if not ok:
|
if not ok:
|
||||||
error = "Offset out of range: " + orig_offset
|
error = "Offset out of range: " + orig_offset
|
||||||
|
if qnode:
|
||||||
|
node = qnode
|
||||||
decoded.offset = offset
|
decoded.offset = offset
|
||||||
|
|
||||||
decoded.node = node
|
decoded.node = node
|
||||||
@ -575,7 +577,7 @@ def at(x, y, doc): # {{{
|
|||||||
def decode_with_range(cfi, doc): # {{{
|
def decode_with_range(cfi, doc): # {{{
|
||||||
doc = doc or window.document
|
doc = doc or window.document
|
||||||
decoded = decode(cfi, doc)
|
decoded = decode(cfi, doc)
|
||||||
if not decoded:
|
if not decoded or not decoded.node:
|
||||||
return None
|
return None
|
||||||
node = decoded.node
|
node = decoded.node
|
||||||
ndoc = node.ownerDocument
|
ndoc = node.ownerDocument
|
||||||
|
Loading…
x
Reference in New Issue
Block a user