From: Victor Cebollada Date: Fri, 21 Oct 2016 12:49:47 +0000 (+0100) Subject: TextVisual - Fix a memory leak issue. X-Git-Tag: dali_1.2.12~17^2 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=bd8218422386b6ec88f744233587fd085d0135da;ds=sidebyside TextVisual - Fix a memory leak issue. Change-Id: I06def29578a38fabdffc226fb774056bbc52fe1b Signed-off-by: Victor Cebollada --- diff --git a/dali-toolkit/internal/visuals/text/text-visual.cpp b/dali-toolkit/internal/visuals/text/text-visual.cpp index 48f9a04..31dc8bb 100644 --- a/dali-toolkit/internal/visuals/text/text-visual.cpp +++ b/dali-toolkit/internal/visuals/text/text-visual.cpp @@ -810,6 +810,13 @@ Dali::Property::Value TextVisual::DoGetProperty( Dali::Property::Index index ) void TextVisual::RenderText() { + Actor self = mSelf.GetHandle(); + if( !self ) + { + // Nothing to do if the handle is not initialized. + return; + } + Actor renderableActor; if( mRenderer ) @@ -826,7 +833,7 @@ void TextVisual::RenderText() const Vector2& scrollOffset = mController->GetScrollPosition(); renderableActor.SetPosition( scrollOffset.x, scrollOffset.y ); - mSelf.Add( renderableActor ); + self.Add( renderableActor ); } mRenderableActor = renderableActor; @@ -847,6 +854,13 @@ void TextVisual::StopTextAutoScrolling() void TextVisual::SetUpAutoScrolling() { + Actor self = mSelf.GetHandle(); + if( !self ) + { + // Nothing to do if the handle is not initialized. + return; + } + const Text::ScrollerData* const data = mController->GetAutoScrollData(); if( NULL != data ) @@ -860,8 +874,8 @@ void TextVisual::SetUpAutoScrolling() mTextScroller->StartScrolling( mRenderableActor, *data ); - mSelf.Add( mTextScroller->GetScrollingText() ); - mSelf.Add( mTextScroller->GetSourceCamera() ); + self.Add( mTextScroller->GetScrollingText() ); + self.Add( mTextScroller->GetSourceCamera() ); } } diff --git a/dali-toolkit/internal/visuals/text/text-visual.h b/dali-toolkit/internal/visuals/text/text-visual.h index a57ddba..47289d1 100644 --- a/dali-toolkit/internal/visuals/text/text-visual.h +++ b/dali-toolkit/internal/visuals/text/text-visual.h @@ -19,6 +19,7 @@ */ // EXTERNAL INCLUDES +#include #include // INTERNAL INCLUDES @@ -168,7 +169,7 @@ private: private: Text::ControllerPtr mController; ///< The text's controller. - Actor mSelf; + WeakHandle mSelf; Text::RendererPtr mRenderer; Text::TextScrollerPtr mTextScroller;