From f19a9556a3c088adefae7273bbe10685a7560804 Mon Sep 17 00:00:00 2001 From: Jiyun Yang Date: Thu, 8 Nov 2018 11:13:30 +0900 Subject: [PATCH] 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 --- .../adaptor/common/combined-update-render-controller.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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 ); } } -- 2.7.4