Modified:
/trunk/Radegast/GUI/Rendering/PrimWorkshop.cs
=======================================
--- /trunk/Radegast/GUI/Rendering/PrimWorkshop.cs Sun Jan 1 14:58:33 2012
+++ /trunk/Radegast/GUI/Rendering/PrimWorkshop.cs Mon Feb 20 00:05:30 2012
@@ -1025,22 +1025,28 @@
gotImage.Reset();
instance.Client.Assets.RequestImage(textureID,
(TextureRequestState state, AssetTexture assetTexture) =>
{
- if (state == TextureRequestState.Finished)
- {
- ManagedImage mi;
- OpenJPEG.DecodeToImage(assetTexture.AssetData,
out mi);
-
- if (removeAlpha)
- {
- if ((mi.Channels &
ManagedImage.ImageChannels.Alpha) != 0)
- {
- mi.ConvertChannels(mi.Channels &
~ManagedImage.ImageChannels.Alpha);
- }
- }
-
- img = LoadTGAClass.LoadTGA(new
MemoryStream(mi.ExportTGA()));
- }
- gotImage.Set();
+ try
+ {
+ if (state == TextureRequestState.Finished)
+ {
+ ManagedImage mi;
+
OpenJPEG.DecodeToImage(assetTexture.AssetData, out mi);
+
+ if (removeAlpha)
+ {
+ if ((mi.Channels &
ManagedImage.ImageChannels.Alpha) != 0)
+ {
+ mi.ConvertChannels(mi.Channels &
~ManagedImage.ImageChannels.Alpha);
+ }
+ }
+
+ img = LoadTGAClass.LoadTGA(new
MemoryStream(mi.ExportTGA()));
+ }
+ }
+ finally
+ {
+ gotImage.Set();
+ }
}
);
gotImage.WaitOne(30 * 1000, false);