Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-98707

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Awaiting Response
    • None
    • Minecraft 1.9, Minecraft 1.10.2, Minecraft 16w41a, Minecraft 16w42a, Minecraft 1.13.2, Minecraft 19w03b
    • Community Consensus
    • (Unassigned)

      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());
          }
      }
      

            Unassigned Unassigned
            marcono1234 Marcono1234
            Votes:
            10 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: