fixed menu var leak

This commit is contained in:
ineed bots 2024-05-09 20:55:45 -06:00
parent c5c9102c5c
commit eac093fa3e

View File

@ -60,7 +60,6 @@ init_menu()
self.menuinit = true; self.menuinit = true;
self.menuopen = false; self.menuopen = false;
self.menu_player = undefined;
self.submenu = "Main"; self.submenu = "Main";
self.curs[ "Main" ][ "X" ] = 0; self.curs[ "Main" ][ "X" ] = 0;
self addOptions(); self addOptions();
@ -75,6 +74,12 @@ init_menu()
self thread doGreetings(); self thread doGreetings();
} }
destroyElemFixed()
{
self.parent removechild( self );
self destroyelem();
}
kill_menu() kill_menu()
{ {
self notify( "bots_kill_menu" ); self notify( "bots_kill_menu" );
@ -93,7 +98,7 @@ watchDisconnect()
{ {
if ( isdefined( self.menutexty[ i ] ) ) if ( isdefined( self.menutexty[ i ] ) )
{ {
self.menutexty[ i ] destroy(); self.menutexty[ i ] destroyElemFixed();
} }
} }
} }
@ -104,7 +109,7 @@ watchDisconnect()
{ {
if ( isdefined( self.menutext[ i ] ) ) if ( isdefined( self.menutext[ i ] ) )
{ {
self.menutext[ i ] destroy(); self.menutext[ i ] destroyElemFixed();
} }
} }
} }
@ -113,12 +118,12 @@ watchDisconnect()
{ {
if ( isdefined( self.menu[ "X" ][ "Shader" ] ) ) if ( isdefined( self.menu[ "X" ][ "Shader" ] ) )
{ {
self.menu[ "X" ][ "Shader" ] destroy(); self.menu[ "X" ][ "Shader" ] destroyElemFixed();
} }
if ( isdefined( self.menu[ "X" ][ "Scroller" ] ) ) if ( isdefined( self.menu[ "X" ][ "Scroller" ] ) )
{ {
self.menu[ "X" ][ "Scroller" ] destroy(); self.menu[ "X" ][ "Scroller" ] destroyElemFixed();
} }
} }
@ -332,7 +337,7 @@ OpenSub( menu, menu2 )
{ {
if ( isdefined( self.menutext[ i ] ) ) if ( isdefined( self.menutext[ i ] ) )
{ {
self.menutext[ i ] destroy(); self.menutext[ i ] destroyElemFixed();
} }
} }
} }
@ -341,12 +346,12 @@ OpenSub( menu, menu2 )
{ {
if ( isdefined( self.menu[ "X" ][ "Shader" ] ) ) if ( isdefined( self.menu[ "X" ][ "Shader" ] ) )
{ {
self.menu[ "X" ][ "Shader" ] destroy(); self.menu[ "X" ][ "Shader" ] destroyElemFixed();
} }
if ( isdefined( self.menu[ "X" ][ "Scroller" ] ) ) if ( isdefined( self.menu[ "X" ][ "Scroller" ] ) )
{ {
self.menu[ "X" ][ "Scroller" ] destroy(); self.menu[ "X" ][ "Scroller" ] destroyElemFixed();
} }
} }
@ -402,7 +407,7 @@ OpenSub( menu, menu2 )
{ {
if ( isdefined( self.menutexty[ i ] ) ) if ( isdefined( self.menutexty[ i ] ) )
{ {
self.menutexty[ i ] destroy(); self.menutexty[ i ] destroyElemFixed();
} }
} }
} }
@ -425,12 +430,12 @@ CursMove( direction )
self notify( "scrolled" ); self notify( "scrolled" );
if ( self.submenu == "Main" ) if ( self.submenu == "Main" )
{
if ( isdefined( self.menutext ) )
{ {
self.menu[ "X" ][ "Scroller" ].x = self.menutext[ self.curs[ "Main" ][ "X" ] ].x; self.menu[ "X" ][ "Scroller" ].x = self.menutext[ self.curs[ "Main" ][ "X" ] ].x;
self.menu[ "X" ][ "Scroller" ].y = self.menutext[ self.curs[ "Main" ][ "X" ] ].y; self.menu[ "X" ][ "Scroller" ].y = self.menutext[ self.curs[ "Main" ][ "X" ] ].y;
if ( isdefined( self.menutext ) )
{
for ( i = 0; i < self.menutext.size; i++ ) for ( i = 0; i < self.menutext.size; i++ )
{ {
if ( isdefined( self.menutext[ i ] ) ) if ( isdefined( self.menutext[ i ] ) )
@ -578,7 +583,7 @@ ExitSub()
{ {
if ( isdefined( self.menutexty[ i ] ) ) if ( isdefined( self.menutexty[ i ] ) )
{ {
self.menutexty[ i ] destroy(); self.menutexty[ i ] destroyElemFixed();
} }
} }
} }
@ -603,7 +608,7 @@ ExitMenu()
{ {
if ( isdefined( self.menutext[ i ] ) ) if ( isdefined( self.menutext[ i ] ) )
{ {
self.menutext[ i ] destroy(); self.menutext[ i ] destroyElemFixed();
} }
} }
} }
@ -612,12 +617,12 @@ ExitMenu()
{ {
if ( isdefined( self.menu[ "X" ][ "Shader" ] ) ) if ( isdefined( self.menu[ "X" ][ "Shader" ] ) )
{ {
self.menu[ "X" ][ "Shader" ] destroy(); self.menu[ "X" ][ "Shader" ] destroyElemFixed();
} }
if ( isdefined( self.menu[ "X" ][ "Scroller" ] ) ) if ( isdefined( self.menu[ "X" ][ "Scroller" ] ) )
{ {
self.menu[ "X" ][ "Scroller" ] destroy(); self.menu[ "X" ][ "Scroller" ] destroyElemFixed();
} }
} }