diff -r f5a1e66df979 -r a47de9135b21 textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp --- a/textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp Fri Feb 19 23:09:27 2010 +0200 +++ b/textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp Fri Mar 12 15:44:07 2010 +0200 @@ -85,8 +85,10 @@ if ( iShowPopup ) { //layout is extended by popup - gc.SetClippingRect( iLayoutClipRect ); - gc.BitBlt( aRect.iTl, iBitmap, aRect ); + TRect rect = aRect; + rect.Intersection( iLayoutClipRect ); + TPoint pos = rect.iTl - iLayoutClipRect.iTl; + gc.BitBlt( pos, iBitmap, rect ); // Add to fix NGA refresh problem CCoeEnv::Static()->WsSession().Flush(); CCoeEnv::Static()->WsSession().Finish(); @@ -241,6 +243,11 @@ void CPenUiWndCtrl::ShowPopup( const TRect& aRectInScreen, const TRect& aRectInLayout, const TRect& aLayoutTrimRect ) { + TPoint offset = aLayoutTrimRect.iTl; + offset += Position(); + this->SetPosition( offset ); + this->SetSize( aLayoutTrimRect.Size() ); + iPopupWnd->PopUp( aRectInScreen, aRectInLayout ); iLayoutClipRect = aLayoutTrimRect; iShowPopup = ETrue;