vcl/source/window/window.cxx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
New commits: commit 2c18f34e422418a18e2fe6608372f0ba0c61c0b7 Author: Tor Lillqvist <t...@collabora.com> Date: Tue Mar 11 15:06:33 2014 +0200 We do seem to need the "resize timer" after all in tiled rendering Otherwise even a trivial test document renders extremely badly, just the top row of text in tiles here and there. Go figure. Maybe the code thinks the document "window" is of some ridiculous 1x1 size or something if the resize timer isn't used? Also, the resize timer handler calls paint functionality. I wonder how we can be sure that the resize timer happens to fire during the rendering a tile, though? Surely if the tile rendering call returns before the timer fires, whatever essential thing it is that the timer needs to do, doesn't happen. Maybe this then explains the blank tiles I occasionally see? On the other hand, when I see them, they don't appear randomly, but it's always the same tile that shows up blank. Change-Id: If5e6854d8846fb0b7bea15547a326bd77f23987b diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index f5be436..691a17d 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -924,9 +924,9 @@ void Window::ImplInit( Window* pParent, WinBits nStyle, SystemParentData* pSyste { mpWindowImpl->mpFrameData->maPaintTimer.SetTimeout( 30 ); mpWindowImpl->mpFrameData->maPaintTimer.SetTimeoutHdl( LINK( this, Window, ImplHandlePaintHdl ) ); - mpWindowImpl->mpFrameData->maResizeTimer.SetTimeout( 50 ); - mpWindowImpl->mpFrameData->maResizeTimer.SetTimeoutHdl( LINK( this, Window, ImplHandleResizeTimerHdl ) ); } + mpWindowImpl->mpFrameData->maResizeTimer.SetTimeout( 50 ); + mpWindowImpl->mpFrameData->maResizeTimer.SetTimeoutHdl( LINK( this, Window, ImplHandleResizeTimerHdl ) ); mpWindowImpl->mpFrameData->mbInternalDragGestureRecognizer = false; if ( pRealParent && IsTopWindow() ) @@ -2628,7 +2628,11 @@ IMPL_LINK_NOARG(Window, ImplHandleResizeTimerHdl) if( mpWindowImpl->mbReallyVisible ) { ImplCallResize(); - if( mpWindowImpl->mpFrameData->maPaintTimer.IsActive() ) + if( ImplDoTiledRendering() ) + { + ImplHandlePaintHdl(NULL); + } + else if( mpWindowImpl->mpFrameData->maPaintTimer.IsActive() ) { mpWindowImpl->mpFrameData->maPaintTimer.Stop(); mpWindowImpl->mpFrameData->maPaintTimer.GetTimeoutHdl().Call( NULL ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits