Updated Branches:
  refs/heads/wicket-1.5.x 7757b3701 -> ee7447c86

WICKET-4867 Detach the object before calculating its size


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ee7447c8
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ee7447c8
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ee7447c8

Branch: refs/heads/wicket-1.5.x
Commit: ee7447c8627f04d84d7165ecc3e18b3ab335e8ff
Parents: 7757b37
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Thu Nov 15 10:02:50 2012 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Thu Nov 15 10:03:39 2012 +0200

----------------------------------------------------------------------
 .../org/apache/wicket/util/lang/WicketObjects.java |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ee7447c8/wicket-core/src/main/java/org/apache/wicket/util/lang/WicketObjects.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/util/lang/WicketObjects.java 
b/wicket-core/src/main/java/org/apache/wicket/util/lang/WicketObjects.java
index a1c1500..27ea1be 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/lang/WicketObjects.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/lang/WicketObjects.java
@@ -31,6 +31,7 @@ import org.apache.wicket.Application;
 import org.apache.wicket.Component;
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.application.IClassResolver;
+import org.apache.wicket.model.IDetachable;
 import org.apache.wicket.serialize.ISerializer;
 import org.apache.wicket.serialize.java.JavaSerializer;
 import org.apache.wicket.settings.IApplicationSettings;
@@ -416,6 +417,15 @@ public class WicketObjects
         */
        public static long sizeof(final Serializable object)
        {
+               if (object instanceof Component)
+               {
+                       ((Component) object).detach();
+               }
+               else if (object instanceof IDetachable)
+               {
+                       ((IDetachable) object).detach();
+               }
+
                return objectSizeOfStrategy.sizeOf(object);
        }
 }

Reply via email to