src/hbcore/utils/hbxmlloaderbaseactions_p.cpp
changeset 28 b7da29130b0e
parent 23 e6ad4ef83b23
child 30 80e4d18b72f5
--- a/src/hbcore/utils/hbxmlloaderbaseactions_p.cpp	Thu Sep 02 20:44:51 2010 +0300
+++ b/src/hbcore/utils/hbxmlloaderbaseactions_p.cpp	Fri Sep 17 08:32:10 2010 +0300
@@ -28,6 +28,7 @@
 #include <hbinstance.h>
 #include <hbdeviceprofile.h>
 #include <hbstyle.h>
+#include "hbstyle_p.h"
 
 #include <QCoreApplication>
 
@@ -352,7 +353,15 @@
             result = mCurrentProfile.ppmValue() * lengthVal.mValue;
             break;
         case HbXmlLengthValue::Variable:
+        case HbXmlLengthValue::VariableNegative:
+            retVal = hbInstance->style()->d_func()->parameterFromHashValue(lengthVal.mHashValue, result, mCurrentProfile);
+            if ( lengthVal.mType == HbXmlLengthValue::VariableNegative ) {
+                result *= -1.0;
+            }
+            break;
         case HbXmlLengthValue::Expression:
+        case HbXmlLengthValue::ExpressionNegative:
+            // HbStyle::parameter handles the negative case as the minus sign is part of mString.
             retVal = hbInstance->style()->parameter( lengthVal.mString, result, mCurrentProfile );
             break;
     }