OSDN Git Service

Use BeginInvoke to free up locks in TexturePipeline sooner
authorLatif Khalifa <latifer@streamgrid.net>
Wed, 12 Aug 2009 19:52:12 +0000 (19:52 +0000)
committerLatif Khalifa <latifer@streamgrid.net>
Wed, 12 Aug 2009 19:52:12 +0000 (19:52 +0000)
git-svn-id: https://radegast.googlecode.com/svn/trunk@143 f7a694da-4d33-11de-9ad6-1127a62b9fcd

Radegast/GUI/Consoles/Assets/SLImageHandler.cs

index ed242ec..33b3f8d 100644 (file)
@@ -130,15 +130,17 @@ namespace Radegast
 \r
         private void Assets_OnImageProgress(UUID imageID, int recieved, int total)\r
         {\r
-            if (this.imageID != imageID) {\r
+            if (this.imageID != imageID)\r
+            {\r
                 return;\r
             }\r
-            if (InvokeRequired) {\r
-                Invoke(new MethodInvoker(delegate()\r
-                {\r
-                    Assets_OnImageProgress(imageID, recieved, total);\r
-                }));\r
+\r
+            if (InvokeRequired)\r
+            {\r
+                BeginInvoke(new MethodInvoker(() => Assets_OnImageProgress(imageID, recieved, total)));\r
+                return;\r
             }\r
+\r
             int pct = 0;\r
             if (total > 0)\r
             {\r
@@ -156,10 +158,7 @@ namespace Radegast
         {\r
             if (InvokeRequired)\r
             {\r
-                BeginInvoke(new MethodInvoker(delegate()\r
-                {\r
-                    DisplayPartialImage(assetTexture);\r
-                }));\r
+                BeginInvoke(new MethodInvoker(() => DisplayPartialImage(assetTexture)));\r
                 return;\r
             }\r
 \r
@@ -183,15 +182,14 @@ namespace Radegast
                 return;\r
             }\r
 \r
-            if (InvokeRequired) {\r
-                Invoke(new MethodInvoker(delegate()\r
-                {\r
-                    Assets_OnImageReceived(assetTexture);\r
-                }));\r
+            if (InvokeRequired)\r
+            {\r
+                BeginInvoke(new MethodInvoker(() => Assets_OnImageReceived(assetTexture)));\r
                 return;\r
             }\r
 \r
-            try {\r
+            try\r
+            {\r
                 progressBar1.Hide();\r
                 lblProgress.Hide();\r
 \r
@@ -209,7 +207,9 @@ namespace Radegast
                 {\r
                     ClientSize = pictureBox1.Size = new Size(image.Width, image.Height);\r
                 }\r
-            } catch (Exception excp) {\r
+            }\r
+            catch (Exception excp)\r
+            {\r
                 this.Hide();\r
                 System.Console.WriteLine("Error decoding image: " + excp.Message);\r
             }\r