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

Re: [XaraXtreme-dev] XCode - built Mac Version will not display wxXtra SplashScreen



On 30/06/06, Alex Bligh <alex@xxxxxxxxxxx> wrote:
Ben,

Can you check whether the event object (the thing it's passing to
IsKindOf(), is the same as the "this" pointer in the constructors for
wxAdvSplashScreen etc.?

I can't see any great reason why IsKindOf should fail when called
in a /constructor/ (I know it does peculiar things in a destructor).

So here we want to be sure it's taking the RTTI of the object
at 0x3301ba00. Looking at src/mac/toplevel.cpp it would seem to
do the right thing in generating the event.

Do you mean to set a watch point on it and see what changes the
wxAdvSplashScreen@0x3301ba00 ? Doesn't Frame #6 show that all this is
happening whilst we are constructing this object? (I'm asking for the
extra detail rather than trying to argue - my intimacy with this part
of C++ is of the kind that believes that distance lends enchantment to
the view).

Ben.

--On 29 June 2006 19:08 +0100 Ben Fowler <ben.the.mole@xxxxxxxxx> wrote:
> On 29/06/06, Alex Bligh <alex@xxxxxxxxxxx> wrote:
>> >> I added 2 lines actually. Is the piece of code inside the test
>> >> actually being executed? (to destroy the splash screen). If so,
>> >> what is causing it to be executed (i.e. what is the call stack).
>> >
>> > Yes, it is destroying the bitmap. I am fairly sure that IsKindOf( )
>> > test is returning false ...
>>
>> So, what's the call stack? I'd be prepared to bet it's an error box
>> trying to appear if you are right and IsKindOf() is returning false.
>> Perhaps it can't load the splash bitmap.
>
> O.K. Here is the stack inside CCamApp::FilterEvent
>
> The test for TopLevelWindow returns true, the other two return false.
>
> (gdb) bt 12
># 0  CCamApp::FilterEvent (this=0x2cd31cc0, event=@0xbfffee5c) at
> /Users/bfowler/PROG/WXWIDGETS/XaraLX/wxOil/camelot.cpp:264
># 1  0x2d8bc524 in wxEvtHandler::ProcessEvent (this=0x3301ba00,
> event=@0xbfffee5c) at ../src/common/event.cpp:1231
># 2  0x2d95cd3c in wxTopLevelWindowMac::MacCreateRealWindow
> (this=0x3301ba00, title=@0xbffff04c, pos=@0xbffff044,
> size=@0xbffff03c, style=0, name=@0xbffff038) at
> ../src/mac/carbon/toplevel.cpp:1248
># 3  0x2d95ce7c in wxTopLevelWindowMac::Create (this=0x3301ba00,
> parent=0x0, id=-1, title=@0xbffff04c, pos=@0xbffff044,
> size=@0xbffff03c, style=2097152, name=@0xbffff038) at
> ../src/mac/carbon/toplevel.cpp:939
># 4  0x2d91e830 in wxFrame::Create (this=0x3301ba00, parent=0x0, id=-1,
> title=@0xbffff04c, pos=@0xbffff044, size=@0xbffff03c, style=2097152,
> name=@0xbffff038) at ../src/mac/carbon/frame.cpp:74
># 5  0x2ca49764 in wxFrame::wxFrame (this=0x3301ba00, parent=0x0,
> id=-1, title=@0xbffff04c, pos=@0xbffff044, size=@0xbffff03c,
> style=2097152, name=@0xbffff038) at frame.h:46
># 6  0x2ca1f250 in wxAdvSplashScreen::wxAdvSplashScreen
> (this=0x3301ba00, bitmap=@0x2cd7f170, splashStyle=2, milliseconds=0,
> parent=0x0, id=-1, pos=@0x2df03884, size=@0x2df0388c, style=2097152)
> at /Users/bfowler/PROG/WXWIDGETS/XaraLX/wxXtra/advsplash.cpp:37
># 7  0x0063f220 in CamResource::Splash () at
> /Users/bfowler/PROG/WXWIDGETS/XaraLX/wxOil/camresource.cpp:1801
># 8  0x0063fb10 in CamResource::Init () at
> /Users/bfowler/PROG/WXWIDGETS/XaraLX/wxOil/camresource.cpp:1505
># 9  0x00642e84 in CCamApp::OnInit (this=0x2cd31cc0) at
> /Users/bfowler/PROG/WXWIDGETS/XaraLX/wxOil/camelot.cpp:508
># 10 0x00a26bec in wxAppConsole::CallOnInit (this=0x2cd31cc0) at
> ../wxWidgets-2.6.3/include/wx/app.h:87
># 11 0x2d850558 in wxEntry (argc=@0xbffff978, argv=0x2cd30000) at
> ../src/common/init.cpp:423
> (More stack frames follow...)