--- deliantra/Deliantra-Client/DC/Texture.pm 2006/06/15 15:33:58 1.7 +++ deliantra/Deliantra-Client/DC/Texture.pm 2006/06/17 15:07:53 1.8 @@ -173,13 +173,19 @@ } } +sub shutdown { + my ($self) = @_; + + glDeleteTexture delete $self->{name} + if $self->{name}; +} + sub DESTROY { my ($self) = @_; delete $TEXTURES{$self+0}; - glDeleteTexture delete $self->{name} - if $self->{name}; + $self->shutdown; } $CFClient::OpenGL::INIT_HOOK{"CFClient::Texture"} = sub { @@ -187,6 +193,11 @@ for values %TEXTURES; }; +$CFClient::OpenGL::SHUTDOWN_HOOK{"CFClient::Texture"} = sub { + $_->shutdown + for values %TEXTURES; +}; + 1; =back