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)
|
||||
end_node = current_wrapper
|
||||
end_offset = 1
|
||||
crw = node.parentNode.dataset.calibreRangeWrapper
|
||||
crw = node.parentNode?.dataset?.calibreRangeWrapper
|
||||
if crw:
|
||||
intersecting_wrappers[crw] = True
|
||||
current_range.surroundContents(current_wrapper)
|
||||
|
@ -389,9 +389,11 @@ def decode(cfi, doc):
|
||||
orig_offset = offset
|
||||
if node.parentNode?.nodeType is Node.ELEMENT_NODE and node.parentNode.dataset.calibreRangeWrapper:
|
||||
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:
|
||||
error = "Offset out of range: " + orig_offset
|
||||
if qnode:
|
||||
node = qnode
|
||||
decoded.offset = offset
|
||||
|
||||
decoded.node = node
|
||||
@ -575,7 +577,7 @@ def at(x, y, doc): # {{{
|
||||
def decode_with_range(cfi, doc): # {{{
|
||||
doc = doc or window.document
|
||||
decoded = decode(cfi, doc)
|
||||
if not decoded:
|
||||
if not decoded or not decoded.node:
|
||||
return None
|
||||
node = decoded.node
|
||||
ndoc = node.ownerDocument
|
||||
|
Loading…
x
Reference in New Issue
Block a user