From eac093fa3ed4bd614f51b18c9391c887e512ecdd Mon Sep 17 00:00:00 2001 From: ineed bots Date: Thu, 9 May 2024 20:55:45 -0600 Subject: [PATCH] fixed menu var leak --- maps/mp/bots/_menu.gsc | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/maps/mp/bots/_menu.gsc b/maps/mp/bots/_menu.gsc index 2f2e232..86f183b 100644 --- a/maps/mp/bots/_menu.gsc +++ b/maps/mp/bots/_menu.gsc @@ -60,7 +60,6 @@ init_menu() self.menuinit = true; self.menuopen = false; - self.menu_player = undefined; self.submenu = "Main"; self.curs[ "Main" ][ "X" ] = 0; self addOptions(); @@ -75,6 +74,12 @@ init_menu() self thread doGreetings(); } +destroyElemFixed() +{ + self.parent removechild( self ); + self destroyelem(); +} + kill_menu() { self notify( "bots_kill_menu" ); @@ -93,7 +98,7 @@ watchDisconnect() { if ( isdefined( self.menutexty[ i ] ) ) { - self.menutexty[ i ] destroy(); + self.menutexty[ i ] destroyElemFixed(); } } } @@ -104,7 +109,7 @@ watchDisconnect() { if ( isdefined( self.menutext[ i ] ) ) { - self.menutext[ i ] destroy(); + self.menutext[ i ] destroyElemFixed(); } } } @@ -113,12 +118,12 @@ watchDisconnect() { if ( isdefined( self.menu[ "X" ][ "Shader" ] ) ) { - self.menu[ "X" ][ "Shader" ] destroy(); + self.menu[ "X" ][ "Shader" ] destroyElemFixed(); } 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 ] ) ) { - self.menutext[ i ] destroy(); + self.menutext[ i ] destroyElemFixed(); } } } @@ -341,12 +346,12 @@ OpenSub( menu, menu2 ) { if ( isdefined( self.menu[ "X" ][ "Shader" ] ) ) { - self.menu[ "X" ][ "Shader" ] destroy(); + self.menu[ "X" ][ "Shader" ] destroyElemFixed(); } 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 ] ) ) { - self.menutexty[ i ] destroy(); + self.menutexty[ i ] destroyElemFixed(); } } } @@ -426,11 +431,11 @@ CursMove( direction ) if ( self.submenu == "Main" ) { - self.menu[ "X" ][ "Scroller" ].x = self.menutext[ self.curs[ "Main" ][ "X" ] ].x; - self.menu[ "X" ][ "Scroller" ].y = self.menutext[ self.curs[ "Main" ][ "X" ] ].y; - if ( isdefined( self.menutext ) ) { + self.menu[ "X" ][ "Scroller" ].x = self.menutext[ self.curs[ "Main" ][ "X" ] ].x; + self.menu[ "X" ][ "Scroller" ].y = self.menutext[ self.curs[ "Main" ][ "X" ] ].y; + for ( i = 0; i < self.menutext.size; i++ ) { if ( isdefined( self.menutext[ i ] ) ) @@ -578,7 +583,7 @@ ExitSub() { if ( isdefined( self.menutexty[ i ] ) ) { - self.menutexty[ i ] destroy(); + self.menutexty[ i ] destroyElemFixed(); } } } @@ -603,7 +608,7 @@ ExitMenu() { if ( isdefined( self.menutext[ i ] ) ) { - self.menutext[ i ] destroy(); + self.menutext[ i ] destroyElemFixed(); } } } @@ -612,12 +617,12 @@ ExitMenu() { if ( isdefined( self.menu[ "X" ][ "Shader" ] ) ) { - self.menu[ "X" ][ "Shader" ] destroy(); + self.menu[ "X" ][ "Shader" ] destroyElemFixed(); } if ( isdefined( self.menu[ "X" ][ "Scroller" ] ) ) { - self.menu[ "X" ][ "Scroller" ] destroy(); + self.menu[ "X" ][ "Scroller" ] destroyElemFixed(); } }