Mojira Archive
MC-98707

Texture manager is not deleting entry in mapTextureObjects when texture is deleted

The bug

The following is based on decompiled version of Minecraft 1.10.2 using MCP. All method and class names are the names used in the decompiled version.

The public void deleteTexture(ResourceLocation textureLocation) method of the net.minecraft.client.renderer.texture.TextureManager class is not removing the entry for the provided ResourceLocation in the mapTextureObjects map.

public void deleteTexture(ResourceLocation textureLocation)
{
    ITextureObject itextureobject = this.getTexture(textureLocation);

    if (itextureobject != null)
    {
        // suggested fix: add this line
        this.mapTextureObjects.remove(textureLocation); 
        TextureUtil.deleteTexture(itextureobject.getGlTextureId());
    }
}

This is very likely still the case in 1.11 snapshot 16w42a:

  • Class: byu
  • Method: public void c(kq ?)
public void c(kq ?)
{
    byv ? = b(?);
    if (? != null) {
        byw.a(?.b());
    }
}

Awaiting Response

Marcono1234

2016-03-02, 07:18 PM

2023-11-03, 04:34 AM

2020-05-22, 08:41 PM

10

8

Community Consensus

(Unassigned)

texture

Minecraft 1.9 - Minecraft 19w03bMinecraft 1.9, Minecraft 1.10.2, Minecraft 16w41a, Minecraft 16w42a, Minecraft 1.13.2, Minecraft 19w03b

-