Optimizing markup processing 06/20306/1
authorJavon Prince <javon.prince@samsung.com>
Thu, 24 Apr 2014 15:22:41 +0000 (16:22 +0100)
committerDavid Steele <david.steele@partner.samsung.com>
Thu, 1 May 2014 15:01:35 +0000 (16:01 +0100)
Only reprocess markup-text in the TextView when the 'markup-enabled' property is changed to true

Change-Id: I9011af832a27fa4c6b5d3b9dfe59c9890f91725c
Signed-off-by: Javon Prince <javon.prince@samsung.com>
dali-toolkit/internal/controls/text-view/text-view-impl.cpp

index 37ce628..6bfaed3 100644 (file)
@@ -2121,13 +2121,17 @@ void TextView::SetProperty( BaseObject* object, Property::Index index, const Pro
   {
     Internal::TextView& textViewImpl( GetImpl( textView ) );
     bool newValue( value.Get<bool>() );
-    textViewImpl.SetMarkupProcessingEnabled( newValue );
-    if( newValue )
+    if( newValue != textViewImpl.IsMarkupProcessingEnabled() )
     {
-      const std::string& currentText( textViewImpl.GetText() );
-      if( ! currentText.empty() )
+      textViewImpl.SetMarkupProcessingEnabled( newValue );
+      if( newValue )
       {
-        textViewImpl.SetText( currentText );
+        // If markup processing has been enabled, Ensure current text is reprocessed.
+        const std::string& currentText( textViewImpl.GetText() );
+        if( ! currentText.empty() )
+        {
+          textViewImpl.SetText( currentText );
+        }
       }
     }
   }