From: Jiyun Yang Date: Thu, 8 Nov 2018 02:13:30 +0000 (+0900) Subject: Fix Window::SetSize() issue X-Git-Tag: dali_1.3.50~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F84%2F192684%2F4;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git Fix Window::SetSize() issue Issue: In UpdateRenderThread code, there is a chance that "SurfaceRectChanged is true" precedes the first rendering task after Window::SetSize(). In that case, PreRender() never have a chance to be called with "true" argument, so that window resizing will not be done properly. Change-Id: I8da0667ca2298fd42dd614dd87a0133532e48223 Signed-off-by: Jiyun Yang --- diff --git a/dali/internal/adaptor/common/combined-update-render-controller.cpp b/dali/internal/adaptor/common/combined-update-render-controller.cpp index a73104a..e9fa33f 100644 --- a/dali/internal/adaptor/common/combined-update-render-controller.cpp +++ b/dali/internal/adaptor/common/combined-update-render-controller.cpp @@ -515,13 +515,15 @@ void CombinedUpdateRenderController::UpdateRenderThread() } // Check resize - bool surfaceResized = ShouldSurfaceBeResized(); - if( DALI_UNLIKELY( surfaceResized ) ) + bool surfaceResized = false; + bool shouldSurfaceBeResized = ShouldSurfaceBeResized(); + if( DALI_UNLIKELY( shouldSurfaceBeResized ) ) { if( updateStatus.SurfaceRectChanged() ) { LOG_UPDATE_RENDER_TRACE_FMT( "Resizing Surface" ); SurfaceResized(); + surfaceResized = true; } } @@ -547,7 +549,7 @@ void CombinedUpdateRenderController::UpdateRenderThread() RenderSurface* currentSurface = mAdaptorInterfaces.GetRenderSurfaceInterface(); if( currentSurface ) { - currentSurface->PreRender( mSurfaceResized ); + currentSurface->PreRender( surfaceResized ); } Integration::RenderStatus renderStatus; @@ -562,7 +564,7 @@ void CombinedUpdateRenderController::UpdateRenderThread() { if( currentSurface ) { - currentSurface->PostRender( isRenderingToFbo, ( mNewSurface != NULL ), mSurfaceResized ); + currentSurface->PostRender( isRenderingToFbo, ( mNewSurface != NULL ), surfaceResized ); } }