Updated Branches:
  refs/heads/master 78c2e68cc -> 7b31effcb

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/7b31effc
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/7b31effc
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/7b31effc

Branch: refs/heads/master
Commit: 7b31effcb460a0a88cbe8c89a277e999fb54d38e
Parents: 78c2e68
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:02:50 2012 +0200

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


http://git-wip-us.apache.org/repos/asf/wicket/blob/7b31effc/wicket-core/src/main/java/org/apache/wicket/core/util/lang/WicketObjects.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/core/util/lang/WicketObjects.java 
b/wicket-core/src/main/java/org/apache/wicket/core/util/lang/WicketObjects.java
index 055f399..779ef77 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/core/util/lang/WicketObjects.java
+++ 
b/wicket-core/src/main/java/org/apache/wicket/core/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