From 63cb396de8cce7f12def4c9d1259f23d70d37b22 Mon Sep 17 00:00:00 2001 From: Heeyong Song Date: Tue, 19 Apr 2022 14:17:54 +0900 Subject: [PATCH] [Tizen] Relayout only if the actor is on Scene We're already checking whether the actor is on scene in RelayoutController::Relayout() before it is added to the mRelayoutStack. But there is a case that the actor is removed from the scene in the previous OnRelayout. So check whether the actor is on scene again. Change-Id: Ia2b64e7f39f24d67b65b9689c720a7ef359d54fd --- dali/internal/event/size-negotiation/relayout-controller-impl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dali/internal/event/size-negotiation/relayout-controller-impl.cpp b/dali/internal/event/size-negotiation/relayout-controller-impl.cpp index fbf0411..497f515 100644 --- a/dali/internal/event/size-negotiation/relayout-controller-impl.cpp +++ b/dali/internal/event/size-negotiation/relayout-controller-impl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -446,7 +446,7 @@ void RelayoutController::Relayout() Actor& actorImpl = GetImplementation(actor); mRelayoutStack->PopBack(); - if(actorImpl.RelayoutRequired()) + if(actorImpl.RelayoutRequired() && actorImpl.OnScene()) { DALI_LOG_INFO(gLogFilter, Debug::General, "[Internal::RelayoutController::Relayout] Negotiating %p %s %s (%.2f, %.2f)\n", &actorImpl, actor.GetTypeName().c_str(), actor.GetProperty(Dali::Actor::Property::NAME).c_str(), size.width, size.height); -- 2.7.4