Force the actors in the relayout container to do a size negotiation 64/60664/2
authorRichard Huang <r.huang@samsung.com>
Mon, 29 Feb 2016 17:35:21 +0000 (17:35 +0000)
committerRichard Huang <r.huang@samsung.com>
Tue, 1 Mar 2016 10:46:57 +0000 (10:46 +0000)
Change-Id: I52f7d2752ddf0f33629901fb3504580d6c64bb15

dali/internal/event/size-negotiation/relayout-controller-impl.cpp

index 9efe523..0d6b927 100644 (file)
@@ -479,6 +479,17 @@ void RelayoutController::Relayout()
 
           // 3. Negotiate the size with the current actor. Pass it an empty container which the actor
           //    has to fill with all the actors it has not done any size negotiation for.
+
+          // Force the actor in the relayout container to do a size negotiation
+          if(actorImpl.GetResizePolicy(Dimension::WIDTH) == ResizePolicy::USE_ASSIGNED_SIZE)
+          {
+            actorImpl.SetLayoutNegotiated(false, Dimension::WIDTH);
+          }
+          if(actorImpl.GetResizePolicy(Dimension::HEIGHT) == ResizePolicy::USE_ASSIGNED_SIZE)
+          {
+            actorImpl.SetLayoutNegotiated(false, Dimension::HEIGHT);
+          }
+
           actorImpl.NegotiateSize( size, *mRelayoutStack );
         }
       }