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
==============================

Reply via email to