--- 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;