Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp	(revision 67920)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp	(revision 67921)
@@ -88,4 +88,6 @@
     m_strLocation = other.location();
 
+    m_uSize = other.sizeInBytes();
+    m_uLogicalSize = other.logicalSizeInBytes();
     m_strSize = other.size();
     m_strLogicalSize = other.logicalSize();
@@ -152,4 +154,5 @@
     m_strName = VBoxGlobal::tr("Empty", "medium");
     m_strLocation = m_strSize = m_strLogicalSize = QString("--");
+    m_uSize = m_uLogicalSize = 0;
 
     /* Reset medium type parameter: */
@@ -211,9 +214,16 @@
             if (m_state != KMediumState_Inaccessible && m_state != KMediumState_NotCreated)
             {
-                m_strSize = vboxGlobal().formatSize(m_medium.GetSize());
+                m_uSize = m_medium.GetSize();
+                m_strSize = vboxGlobal().formatSize(m_uSize);
                 if (m_type == UIMediumType_HardDisk)
-                    m_strLogicalSize = vboxGlobal().formatSize(m_medium.GetLogicalSize());
+                {
+                    m_uLogicalSize = m_medium.GetLogicalSize();
+                    m_strLogicalSize = vboxGlobal().formatSize(m_uLogicalSize);
+                }
                 else
+                {
+                    m_uLogicalSize = m_uSize;
                     m_strLogicalSize = m_strSize;
+                }
             }
         }
Index: /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.h	(revision 67920)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.h	(revision 67921)
@@ -178,4 +178,12 @@
     QString location(bool fNoDiffs = false) const { return fNoDiffs ? root().m_strLocation : m_strLocation; }
 
+    /** Returns the medium size in bytes.
+      * @param fNoDiffs @c true to enable user-friendly "don't show diffs" mode.
+      * @note  In "don't show diffs" mode, this method returns the size of root in the given hard drive chain. */
+    qulonglong sizeInBytes(bool fNoDiffs = false) const { return fNoDiffs ? root().m_uSize : m_uSize; }
+    /** Returns the logical medium size in bytes.
+      * @param fNoDiffs @c true to enable user-friendly "don't show diffs" mode.
+      * @note  In "don't show diffs" mode, this method returns the size of root in the given hard drive chain. */
+    qulonglong logicalSizeInBytes(bool fNoDiffs = false) const { return fNoDiffs ? root().m_uLogicalSize : m_uLogicalSize; }
     /** Returns the medium size.
       * @param fNoDiffs @c true to enable user-friendly "don't show diffs" mode.
@@ -343,7 +351,11 @@
     QString m_strLocation;
 
+    /** Holds the medium size in bytes. */
+    qulonglong m_uSize;
+    /** Holds the logical medium size in bytes. */
+    qulonglong m_uLogicalSize;
     /** Holds the medium size. */
     QString m_strSize;
-    /** Holds the medium logical size. */
+    /** Holds the logical medium size. */
     QString m_strLogicalSize;
 
