X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fwindow-system%2Fcommon%2Fwindow-impl.cpp;h=fdb01bd83a526a1325503f3541a01713d8373e0a;hb=0e4caa74f44f5aa507610f16243b1e6aaa4421a8;hp=d5f838304c1e6877e2d95d383307957b4dc67825;hpb=24693f38898769316def34c286849aa82a56406e;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/window-system/common/window-impl.cpp b/dali/internal/window-system/common/window-impl.cpp index d5f8383..fdb01bd 100644 --- a/dali/internal/window-system/common/window-impl.cpp +++ b/dali/internal/window-system/common/window-impl.cpp @@ -731,20 +731,20 @@ void Window::SetParent( Dali::Window& parent ) if ( DALI_UNLIKELY( parent ) ) { mParentWindow = parent; - Dali::Window self = Dali::Window( this ); + Dali::Window grandParent = Dali::DevelWindow::GetParent( parent ); // check circular parent window setting - if ( Dali::DevelWindow::GetParent( parent ) == self ) + if ( DALI_UNLIKELY( grandParent ) && mWindowBase->IsMatchedWindow( grandParent.GetNativeHandle() ) ) { Dali::DevelWindow::Unparent( parent ); } - mWindowBase->SetParent( GetImplementation( mParentWindow ).mWindowBase ); + mWindowBase->SetParent( parent.GetNativeHandle() ); } } void Window::Unparent() { - mWindowBase->SetParent( nullptr ); - mParentWindow.Reset(); + Any parent; + mWindowBase->SetParent( parent ); } Dali::Window Window::GetParent()