calls GdiplusShutdown to propery signal GDI+ termination
authorJordi Mas i Hernandez <jordi@mono-cvs.ximian.com>
Thu, 11 Nov 2004 18:39:25 +0000 (18:39 -0000)
committerJordi Mas i Hernandez <jordi@mono-cvs.ximian.com>
Thu, 11 Nov 2004 18:39:25 +0000 (18:39 -0000)
svn path=/trunk/mcs/; revision=36016

mcs/class/System.Drawing/System.Drawing/ChangeLog
mcs/class/System.Drawing/System.Drawing/gdipFunctions.cs

index f404f03ab8ffef1dcd641302c32ae863fa47407a..e5605567cb23c4b0a74cc56f81dd5f913a70e9e5 100644 (file)
@@ -1,3 +1,8 @@
+2004-10-27 Jordi Mas i Hernandez <jordi@ximian.com>
+
+       * gdipFunctions.cs: calls GdiplusShutdown to propery signal GDI+ 
+       termination
+
 2004-11-03  Miguel de Icaza  <miguel@ximian.com>
 
        * TextureBrush.cs (Clone): While cloning, it is not enough to let
index b2f2c0576020682e32107d621c73f1c428c58589..5f9e0d9ade9aaddf11ca6b84fe1d301029b39e93 100644 (file)
@@ -56,11 +56,18 @@ namespace System.Drawing
                static internal extern void GdiplusShutdown(ref ulong token);
                
                static ulong GdiPlusToken;
+
+               static void ProcessExit (object sender, EventArgs e)
+               {                       
+                       GdiplusShutdown (ref GdiPlusToken);
+               }
+
                static GDIPlus ()
                {
                        GdiplusStartupInput input = GdiplusStartupInput.MakeGdiplusStartupInput();
                        GdiplusStartupOutput output = GdiplusStartupOutput.MakeGdiplusStartupOutput();
                        GdiplusStartup (ref GdiPlusToken, ref input, ref output);
+                       AppDomain.CurrentDomain.ProcessExit += new EventHandler (ProcessExit);
                }
                
                // Copies a Ptr to an array of Points and releases the memory