dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] pnetlib ChangeLog runtime/System/Resources/Buil...


From: Heiko Weiss
Subject: [dotgnu-pnet-commits] pnetlib ChangeLog runtime/System/Resources/Buil...
Date: Fri, 07 Dec 2007 14:37:18 +0000

CVSROOT:        /sources/dotgnu-pnet
Module name:    pnetlib
Changes by:     Heiko Weiss <brubbel>   07/12/07 14:37:18

Modified files:
        .              : ChangeLog 
        runtime/System/Resources: BuiltinResourceSet.cs 

Log message:
        fixed a memory leak.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnetlib/ChangeLog?cvsroot=dotgnu-pnet&r1=1.2525&r2=1.2526
http://cvs.savannah.gnu.org/viewcvs/pnetlib/runtime/System/Resources/BuiltinResourceSet.cs?cvsroot=dotgnu-pnet&r1=1.3&r2=1.4

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/dotgnu-pnet/pnetlib/ChangeLog,v
retrieving revision 1.2525
retrieving revision 1.2526
diff -u -b -r1.2525 -r1.2526
--- ChangeLog   7 Dec 2007 13:28:49 -0000       1.2525
+++ ChangeLog   7 Dec 2007 14:37:18 -0000       1.2526
@@ -1,3 +1,6 @@
+2007-12-07  Heiko Weiss <address@hidden>
+       * runtime/System/Resources/BuiltinResourceSet.cs: fixed a memory leak.
+
 2007-12-07  Radek Polak  <address@hidden>
 
        * System.Drawing/Toolkit/ToolkitGraphicsImageBase.cs: Fix exception

Index: runtime/System/Resources/BuiltinResourceSet.cs
===================================================================
RCS file: 
/sources/dotgnu-pnet/pnetlib/runtime/System/Resources/BuiltinResourceSet.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- runtime/System/Resources/BuiltinResourceSet.cs      25 Apr 2003 03:53:07 
-0000      1.3
+++ runtime/System/Resources/BuiltinResourceSet.cs      7 Dec 2007 14:37:18 
-0000       1.4
@@ -72,9 +72,16 @@
                                }
                                else if(!readResourcesCalled)
                                {
+                                       Object o = base.GetObject(name);
+                                       if( null != o ) 
+                                       {
+                                               return o;
+                                       }
                                        // We can take a short-cut because we 
know that
                                        // the underlying reader is 
"ResourceReader".
-                                       return 
((ResourceReader)Reader).GetObject(name);
+                                       o = 
((ResourceReader)Reader).GetObject(name);
+                                       Table[name] = o;
+                                       return o;
                                }
                                else
                                {
@@ -94,6 +101,12 @@
                                                
(_("Invalid_ResourceReaderClosed"));
                                }
 
+                               Object o = base.GetObject(name,ignoreCase);
+                               if( null != o ) 
+                               {
+                                       return o;
+                               }
+                               
                                // If we haven't read the resources yet, then 
attempt
                                // to use a short-cut by way of 
"ResourceReader".
                                if(!readResourcesCalled)
@@ -101,6 +114,7 @@
                                        Object value = 
((ResourceReader)Reader).GetObject(name);
                                        if(value != null || !ignoreCase)
                                        {
+                                               Table[name] = value;
                                                return value;
                                        }
                                }
@@ -121,14 +135,22 @@
                                        throw new InvalidOperationException
                                                
(_("Invalid_ResourceReaderClosed"));
                                }
+                               
+                               String o = base.GetString(name);
+                               if( null != o ) 
+                               {
+                                       return o;
+                               }
+                               
                                try
                                {
                                        if(!readResourcesCalled)
                                        {
                                                // We can take a short-cut 
because we know that
                                                // the underlying reader is 
"ResourceReader".
-                                               return 
(String)(((ResourceReader)Reader)
-                                                                               
        .GetObject(name));
+                                               o = 
(String)(((ResourceReader)Reader).GetObject(name));
+                                               Table[name] = o;
+                                               return o;
                                        }
                                        else
                                        {
@@ -154,6 +176,12 @@
                                                
(_("Invalid_ResourceReaderClosed"));
                                }
 
+                               String o = base.GetString(name,ignoreCase);
+                               if( null != o ) 
+                               {
+                                       return o;
+                               }
+                               
                                // If we haven't read the resources yet, then 
attempt
                                // to use a short-cut by way of 
"ResourceReader".
                                if(!readResourcesCalled)
@@ -163,6 +191,7 @@
                                        {
                                                try
                                                {
+                                                       Table[name] = value;
                                                        return (String)value;
                                                }
                                                catch(InvalidCastException)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]