RE: [Plib-devel] PUI crash in Tuxkart.
Brought to you by:
sjbaker
|
From: Norman V. <nh...@ca...> - 2000-10-04 20:47:55
|
Norman Vine wrote:
>
>Sam Stickland writes:
>>
>>Try:
>>
>>cvs update -P -D "26 Sep 2000"
>>
>>in src/pui, and try again. Let us know the results.
>
>Bingo !!
>
>OK we know where to look :-)
After further inquiry and some trusty printf's
void puButton::doHit ( int button, int updown, int, int )
{
cout << "puButton::doHit:" << endl;
if ( puActiveWidget() && ( this != puActiveWidget() ) )
{
cout << "puActiveWidget()->getDownCallback() " <<
puActiveWidget()->getDownCallback() << endl ;
puActiveWidget() -> invokeDownCallback () ;
cout << "calling puDeactivateWidget() " << endl ;
puDeactivateWidget () ;
}
........
}
with the preceding code when clicking on the menubar
in Tuxkart I get ...
puMouse: button 0 updown 0
puOneShot::doHit:
puButton::doHit:
puActiveWidget()->getDownCallback() 1
@#% CRASH
notice that "calling puDeactivateWidget()" is never printed
I do not believe that Tuxkart ever sets a DownCallback
hence
puActiveWidget()->getDownCallback() should return 0
obviously calling what ever lives at
address 1 is bound to cause problems !!
The activeWidget is getting stomped on or at least
it's DownCallback() is being set to a non NULL value
but I do not know by whom yet -- Plib or Tuxkart
Hope this helps
Norman
|