idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp
branchRCL_3
changeset 54 1b758917cafc
parent 47 7be2816dbabd
child 59 d721605b30d0
--- a/idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp	Tue May 25 12:29:32 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp	Wed Jun 09 09:29:04 2010 +0300
@@ -8283,19 +8283,19 @@
                         {
                         rect = node->BorderRect();
                         }
-                    if ( adapter->Rect() != rect )
+                    
+                    // popup calculates its position based on _s60-position-hint property
+                    // This needs to be done even if popup's rect has not been changed
+                    if( node->Type()->Type() == KPopUpNodeName )
+                        {
+                        adapter->DoHandlePropertyChangeL();
+                        }
+                    else if ( adapter->Rect() != rect )
                         {
                         AddToRedrawListL( node, rect );
                         
-                        // popup calculates its position based on _s60-position-hint property
-                        if( node->Type()->Type() == KPopUpNodeName )
-                            {
-                            adapter->DoHandlePropertyChangeL();
-                            }
-                        else
-                            {
-                            adapter->SetRect( rect );                        
-                            }
+                        adapter->SetRect( rect );                        
+
                         CXnProperty* prop = node->GetPropertyL(
                             XnPropertyNames::common::KSizeAware );
                         if ( prop && prop->StringValue() ==
@@ -9565,6 +9565,8 @@
         UpdateInternalUnits( iHorizontalUnitInPixels, iVerticalUnitInPixels,
             iClientRect );
         
+        iEditMode->SetClientRect( aRect );
+
         if ( aDrawNow )
             {
             RootNode()->SetDirtyL();