[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

RE: [XaraXtreme-dev] File => Close crashes



Ahhh, yes... That explains why my fix appeared to fix it.  When I tested
it after the fix I wasn't in the text tool.

I don't think it has anything specifically to do with the call to
IsScreenCamView.  Rather I suspect that the messages that are supposed
to be sent around when views are closed are not happening properly.  I'm
pretty certain that the SELABOUTTOCHANGE message should get sent before
the Oil view has been deleted.

I suspect that there is some issue in the CCamView class caused either
by the differences between MFC and wxWidgets or by me simply missing
something when I consolidated the CCamView class hierarchy.

Gerry

-----Original Message-----
From: owner-dev@xxxxxxxxxxxxxxxx [mailto:owner-dev@xxxxxxxxxxxxxxxx] On
Behalf Of Martin Wuerthner
Sent: 05 April 2006 15:47
To: dev@xxxxxxxxxxxxxx
Subject: RE: [XaraXtreme-dev] File => Close crashes

In message <b881d8124e.martin@xxxxxxxxxxxxxxxxxxx>
          Martin Wuerthner <lists@xxxxxxxxxxxxxxx> wrote:

> In message <5056CBC646CB4047BB26120F4377DB71CB6EC6@xxxxxxxxxxxxxxxxxxx
>>
>           "Gerry Iles" <GerryI@xxxxxxxx> wrote:
> 
>> I noticed this a couple of hours ago and found it crashed in
>> CCamView::GetClientSize because the render window has been deleted.
I
>> haven't checked why it is being called when the window is being
closed
>> but I have made it not SEGV if it does...
>> 
>> Does this sort out your problem?
> 
> Mysteriously, the problem had gone away in my copy shortly after I had
> posted the message below (the only change I did since then was to
> install some fonts, including Arial, which also changed the appearance
> of the window, so maybe it was related to that?). I am glad you still
> saw the crash so you could fix the issue.

Sorry, that was nonsense. The problem is still there.

The crash is caused by the text tool trying to remove the blobs from 
the non-existing window in TextInfoBarOp::Message. When it gets a view 
change message it calls GetVisibleSpread() on the old view. I presume 
the IsScreenCamView() call that was removed (see the portnote in line 
2602) was meant to prevent the problem. Somehow we need a way to 
distinguish between a dead old view and a live old view. Apparently, 
testing oOldView against NULL does not do that.

Martin

>> -----Original Message-----
>> From: owner-dev@xxxxxxxxxxxxxxxx [mailto:owner-dev@xxxxxxxxxxxxxxxx]
On
>> Behalf Of Martin Wuerthner
>> Sent: 05 April 2006 14:36
>> To: dev@xxxxxxxxxxxxxx
>> Subject: [XaraXtreme-dev] File => Close crashes
>> 
>> Choosing File => Close always leads to a crash here (segmentation
>> fault). If the file has been modified, the crash occurs after the "Do
>> you want to save" dialogue, else it occurs immediately. Does anyone
>> else see this?
>> 
>> Martin


Martin