diff -r ea4b2e4f7cac -r 220a17280356 webengine/osswebengine/WebKit/s60/webview/WebView.cpp --- a/webengine/osswebengine/WebKit/s60/webview/WebView.cpp Fri Feb 19 23:55:03 2010 +0200 +++ b/webengine/osswebengine/WebKit/s60/webview/WebView.cpp Fri Mar 12 15:48:51 2010 +0200 @@ -131,6 +131,8 @@ const int KZoomDefaultLevel = 8; //100% const int defaultCacheCapacity = 256 * 1024; +const int KMaxMissedDrawsAllowed = 5;//Max missed repaint allowed before paint happens + // LOCAL FUNCTION PROTOTYPES TInt doRepaintCb( TAny* ptr ); TInt doFepCb( TAny* ptr ); @@ -203,6 +205,7 @@ , m_waitTimer(0) , m_pinchZoomHandler(NULL) , m_isPinchZoom(false) +, m_drawsMissed(0) { } @@ -630,7 +633,8 @@ layoutPending = false; } - if ( !layoutPending || !isLoading()) { + if ( !layoutPending || (m_drawsMissed >= KMaxMissedDrawsAllowed && !isLoading())) { + m_drawsMissed = 0; bool needsDraw = false; m_repaints.Tidy(); for (int i=0; iCancel(); // tot:fixme TBool complete = iWebkitControl->IsProgressComplete(); && CImageRendererFactory::Instance()->DecodeCount()==0; @@ -2996,6 +3003,11 @@ } m_currentZoomLevel = zoomLevel; DrawNow(); + PluginSkin* pluginskin = mainFrame()->focusedPlugin(); + if(pluginskin) + { + pluginskin->deActivate(); + } } //-------------------------------------------------------------------------------