Tommaso Cucinotta ha scritto:
5. try to search A-B and 3x "find next button" -> crash
I'll have a look.
Crash occurs when trying to setCursor() on a position that
has been found out by repeatedly calling cur.forwardPos()
and/or cur.backwardsPos().
Specifically, the crash happens while trying to move the selection
on the 3rd "A-B" matching instance inside table at begin of section
3.3, within:
- InsetTabular::edit(),
- InsetTabular::isRightToLeft()
2nd line, accessing: cur[cur.depth() - 2].paragraph();
- vector::size()
Before crash, I have the output reported below that identifies
exactly the cursor position that is being attempted to be set on
the BufferView. I cannot interpret very well this output, except
that it seems there are 4 nested inset levels, but while descending
them down, the SEGFAULT occurs while trying to ->edit() on the
second one (the debugging output in BufferView.cpp:1825 is
dumped just before ->edit()-ing to each inset.
Any clue ? Thx, bye,
T.
==============================
lyxfindadv.cpp(617): Putting selection at
cursor: | anchor:
inset: 0x1ad07e0 idx: 0 par: 56 pos: 0 | inset: 0x1ad07e0 idx: 0 par:
56 pos: 0
inset: 0x1bfd2a0 idx: 4 par: 0 pos: 8 | inset: 0x1bfd2a0 idx: 3 par: 0
pos: 0
------------------------------- | inset: 0x1c00c00 idx: 0 par: 0 pos: 3
------------------------------- | inset: 0x1c03300 idx: 0 par: 0 pos: 0
selection: 1 x_target: -1
with len: 3
BufferView.cpp(1825): inset: 0x1ad07e0
BufferView.cpp(1825): inset: 0x1bfd2a0
Server.cpp(160): LyXComm: Closing connection
Server.cpp(163): LyXComm: server is disabled, nothing to do
ServerSocket.cpp(87): lyx: Server socket quitting
lyx: SIGSEGV signal caught
==============================