diff -r 137ebc85284b -r 1b758917cafc idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp --- 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();