X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fmanager%2Fupdate-manager.cpp;h=d96511f9541a5ffee520458f9326c8db727c9eb8;hb=59992ec9e3671f2ad00e7427bc85757dadf98674;hp=571e8b34b8099951d8585db4610b8c5e73aaec0e;hpb=4f6cc67ac85e504f3be6e05a9560a3fc862a0a6d;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/manager/update-manager.cpp b/dali/internal/update/manager/update-manager.cpp index 571e8b3..d96511f 100644 --- a/dali/internal/update/manager/update-manager.cpp +++ b/dali/internal/update/manager/update-manager.cpp @@ -693,6 +693,13 @@ void UpdateManager::ResetProperties( BufferIndex bufferIndex ) mImpl->propertyResetters.EraseObject( elementPtr ); } + // Clear all root nodes dirty flags + for( auto& scene : mImpl->scenes ) + { + auto root = scene->root; + root->ResetDirtyFlags( bufferIndex ); + } + // Clear node dirty flags Vector::Iterator iter = mImpl->nodes.Begin()+1; Vector::Iterator endIter = mImpl->nodes.End(); @@ -1031,6 +1038,9 @@ uint32_t UpdateManager::Update( float elapsedSeconds, if( keepRendererRendering ) { keepUpdating |= KeepUpdating::STAGE_KEEP_RENDERING; + + // Set dirty flags for next frame to continue rendering + mImpl->nodeDirtyFlags |= RenderableUpdateFlags; } // tell the update manager that we're done so the queue can be given to event thread