
Mon, 05/19/2025 - 12:51
Forums:
The SetTextureFileName() method in class AIS_TextureShape sets texture maps.
After rendering, then the source image is occupied and cannot be deleted, in version 7.8.1
the same method in version 7.7.0 ,I can do it,
Why?
Have any modifications been made here?
I hope someone can help me.
Mon, 05/19/2025 - 14:09
Hello, could you please share details about "occupied" and can't be deleted. It is issue with file on filesystem?
which methods did you use before? Could you share code sample?
Best regards, Dmitrii.
Tue, 05/20/2025 - 15:02
Handle(AIS_TexturedShape) aTShape = new AIS_TexturedShape(aShape);
aTShape->SetTextureFileName(aTFileName);
aTShape->SetTextureMapOn();
aTShape->SetTextureScale(Standard_True, toScaleU, toScaleV);
aTShape->SetTextureRepeat(Standard_True, toRepeatU, toRepeatV);
aTShape->SetTextureOrigin(Standard_True, originU, originV);
aTShape->SetPolygonOffsets(Aspect_POM_Fill, 0.5);
aTShape->SetDisplayMode(3);
---------------------------------------------------------------------------------------------
After using the above code, the image resources(The local file corresponding to (aTFileName)) are occupied and cannot be deleted
Thu, 05/22/2025 - 08:50
DRAW script:
The regression is caused by the patch for '0031956: Visualization - provide Image_AlienPixMap::Save() writing into a memory':
IWICBitmapFlipRotator
instance is never released leading to a memory leak and locked file.Possible fix:
Thu, 05/22/2025 - 12:32
Thank you for your reply
so is this a new bug?
Thu, 05/22/2025 - 14:44
As you noticed:
This change #31956 had been introduced by OCCT 7.8.0.