gotImage.Reset();
instance.Client.Assets.RequestImage(textureID, (TextureRequestState state, AssetTexture assetTexture) =>
{
- if (state == TextureRequestState.Finished)
+ try
{
- ManagedImage mi;
- OpenJPEG.DecodeToImage(assetTexture.AssetData, out mi);
-
- if (removeAlpha)
+ if (state == TextureRequestState.Finished)
{
- if ((mi.Channels & ManagedImage.ImageChannels.Alpha) != 0)
+ ManagedImage mi;
+ OpenJPEG.DecodeToImage(assetTexture.AssetData, out mi);
+
+ if (removeAlpha)
{
- mi.ConvertChannels(mi.Channels & ~ManagedImage.ImageChannels.Alpha);
+ if ((mi.Channels & ManagedImage.ImageChannels.Alpha) != 0)
+ {
+ mi.ConvertChannels(mi.Channels & ~ManagedImage.ImageChannels.Alpha);
+ }
}
- }
- img = LoadTGAClass.LoadTGA(new MemoryStream(mi.ExportTGA()));
+ img = LoadTGAClass.LoadTGA(new MemoryStream(mi.ExportTGA()));
+ }
+ }
+ finally
+ {
+ gotImage.Set();
}
- gotImage.Set();
}
);
gotImage.WaitOne(30 * 1000, false);