segfaults with last selection repaint patch in riched20

Krzysztof Foltman wdev at foltman.com
Fri Aug 11 02:50:51 CDT 2006


Phil Krylov wrote:

> I was getting a segfault in ME_MarkForPainting() after that patch (BTW
> great work),

Owww... I really hoped to avoid bugs in THAT :)

> and started looking through the code. One thing I found
> was obviously a typo which can be easily fixed (BTW I don't know for
> sure but I'd also update pLastSelStartPara and pLastSelEndPara here):

Yes, it's a copy-paste bug. I thought I've fixed that one, but I
obviously didn't. Updating pLastSelStartPara / pLastSelEndPara is not
necessary, because any time a paragraph is deleted, those two variables
are updated at para.c:257.

> But it did not resolve my problem. I did not have time to find the
> real reason for the segfault, but here is a quick hack which made the
> segfault go away and can probably help you in finding the real reason.

What are the circumstances? Is it after some delete/insert operation, or
just after document load?

I'd do an assert(pLastSelStartPara->member.para.nCharOfs <=
pLastSelEndPara->member.para.nCharOfs) or something. That could possibly
shed some light on the issue. I'm going to spend some time on it, as
soon as I get Wine running after doing git clone from scratch yesterday
(my old repository got FUBAR and I couldn't do anything to get it to
sync to master). This git thing is a piece of unreliable unintuitive crap.

Krzysztof





More information about the wine-devel mailing list