[dali_1.3.26] Merge branch 'devel/master' 75/180075/1
authorthothamon <jason.perry@partner.samsung.com>
Thu, 24 May 2018 13:19:14 +0000 (14:19 +0100)
committerthothamon <jason.perry@partner.samsung.com>
Thu, 24 May 2018 13:19:14 +0000 (14:19 +0100)
Change-Id: I81df83ed9bd990838da113b90b436dd88851848d

15 files changed:
dali-toolkit/devel-api/layouting/layout-item-impl.cpp
dali-toolkit/devel-api/layouting/layout-length.h
dali-toolkit/devel-api/layouting/measure-spec.h
dali-toolkit/devel-api/layouting/measured-size.h
dali-toolkit/internal/controls/control/control-data-impl.cpp
dali-toolkit/internal/controls/image-view/image-view-impl.cpp
dali-toolkit/public-api/dali-toolkit-version.cpp
dali-toolkit/third-party/yoga/YGLayout.cpp
dali-toolkit/third-party/yoga/YGLayout.h
dali-toolkit/third-party/yoga/YGNode.cpp
dali-toolkit/third-party/yoga/YGNode.h
dali-toolkit/third-party/yoga/YGStyle.cpp
dali-toolkit/third-party/yoga/YGStyle.h
dali-toolkit/third-party/yoga/Yoga-internal.h
packaging/dali-toolkit.spec

index f6bd7f8..e31045f 100644 (file)
@@ -141,19 +141,9 @@ void LayoutItem::Measure( MeasureSpec widthMeasureSpec, MeasureSpec heightMeasur
   {
     mImpl->ClearPrivateFlag( Impl::PRIVATE_FLAG_MEASURED_DIMENSION_SET );
 
-    //resolveRtlPropertiesIfNeeded();
-
-    int cacheIndex = -1;  // = forceLayout ? -1 : mMeasureCache.indexOfKey(key);
-    if( cacheIndex < 0 ) //|| sIgnoreMeasureCache )
-    {
-      // measure ourselves, this should set the measured dimension flag back
-      OnMeasure( widthMeasureSpec, heightMeasureSpec );
-      mImpl->ClearPrivateFlag( Impl::PRIVATE_FLAG_MEASURE_NEEDED_BEFORE_LAYOUT );
-    }
-    else
-    {
-      mImpl->SetPrivateFlag( Impl::PRIVATE_FLAG_MEASURE_NEEDED_BEFORE_LAYOUT );
-    }
+    // measure ourselves, this should set the measured dimension flag back
+    OnMeasure( widthMeasureSpec, heightMeasureSpec );
+    mImpl->ClearPrivateFlag( Impl::PRIVATE_FLAG_MEASURE_NEEDED_BEFORE_LAYOUT );
 
     // flag not set, setMeasuredDimension() was not invoked, we raise an exception to warn the developer
     DALI_ASSERT_ALWAYS( mImpl->GetPrivateFlag( Impl::PRIVATE_FLAG_MEASURED_DIMENSION_SET ) &&
@@ -163,8 +153,6 @@ void LayoutItem::Measure( MeasureSpec widthMeasureSpec, MeasureSpec heightMeasur
 
   mImpl->mOldWidthMeasureSpec = widthMeasureSpec;
   mImpl->mOldHeightMeasureSpec = heightMeasureSpec;
-
-  //mMeasureCache.put(key, ((long) mMeasuredWidth) << 32 | (long) mMeasuredHeight & 0xffffffffL); // suppress sign extension
 }
 
 void LayoutItem::Layout( LayoutLength l, LayoutLength t, LayoutLength r, LayoutLength b )
index 94f7ae0..9953ed8 100644 (file)
@@ -46,7 +46,10 @@ public:
 
   LayoutLength& operator=(const LayoutLength& rhs)
   {
-    mValue = rhs.mValue;
+    if( this != &rhs )
+    {
+      mValue = rhs.mValue;
+    }
     return *this;
   }
 
index f766247..92a03f2 100644 (file)
@@ -62,8 +62,11 @@ public:
 
   MeasureSpec& operator=( const MeasureSpec& rhs )
   {
-    this->mSize = rhs.mSize;
-    this->mMode = rhs.mMode;
+    if( this != &rhs )
+    {
+      this->mSize = rhs.mSize;
+      this->mMode = rhs.mMode;
+    }
     return *this;
   }
 
index ff937cf..3e38a1e 100644 (file)
@@ -39,7 +39,8 @@ public:
   };
 
   MeasuredSize()
-  : mMeasuredSize( 0u )
+  : mMeasuredSize( 0u ),
+    mState ( MeasuredSize::State::MEASURED_SIZE_OK )
   {
   }
 
@@ -59,8 +60,11 @@ public:
 
   MeasuredSize& operator=( const MeasuredSize& rhs )
   {
-    this->mMeasuredSize = rhs.mMeasuredSize;
-    this->mState = rhs.mState;
+    if( this != &rhs )
+    {
+      this->mMeasuredSize = rhs.mMeasuredSize;
+      this->mState = rhs.mState;
+    }
     return *this;
   }
 
index e916a0e..73769c8 100755 (executable)
@@ -335,6 +335,8 @@ Control::Impl::Impl( Control& controlImpl )
   mPanGestureDetector(),
   mTapGestureDetector(),
   mLongPressGestureDetector(),
+  mTooltip( NULL ),
+  mInputMethodContext(),
   mFlags( Control::ControlBehaviour( CONTROL_BEHAVIOUR_DEFAULT ) ),
   mIsKeyboardNavigationSupported( false ),
   mIsKeyboardFocusGroup( false )
index 9af610b..20869d3 100755 (executable)
@@ -286,7 +286,8 @@ void ImageView::OnRelayout( const Vector2& size, RelayoutContainer& container )
 
       // scale to fit the padded area
       auto finalSize =
-             naturalSize * std::min((paddedSize.width / naturalSize.width), (paddedSize.height / naturalSize.height));
+             naturalSize * std::min( ( naturalSize.width  ? ( paddedSize.width  / naturalSize.width  ) : 0 ),
+                                     ( naturalSize.height ? ( paddedSize.height / naturalSize.height ) : 0 ) );
 
       // calculate final offset within the padded area
       auto finalOffset = Vector2(padding.start, padding.top) + (paddedSize - finalSize) * .5f;
index f3ab911..eb6c22f 100644 (file)
@@ -31,7 +31,7 @@ namespace Toolkit
 
 const unsigned int TOOLKIT_MAJOR_VERSION = 1;
 const unsigned int TOOLKIT_MINOR_VERSION = 3;
-const unsigned int TOOLKIT_MICRO_VERSION = 25;
+const unsigned int TOOLKIT_MICRO_VERSION = 26;
 const char * const TOOLKIT_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index 6e367bd..86eaff5 100644 (file)
@@ -30,7 +30,7 @@ YGLayout::YGLayout()
       didUseLegacyFlag(false),
       doesLegacyStretchFlagAffectsLayout(false) {}
 
-bool YGLayout::operator==(YGLayout layout) const {
+bool YGLayout::operator==(const YGLayout& layout) const {
   bool isEqual = YGFloatArrayEqual(position, layout.position) &&
       YGFloatArrayEqual(dimensions, layout.dimensions) &&
       YGFloatArrayEqual(margin, layout.margin) &&
@@ -60,6 +60,6 @@ bool YGLayout::operator==(YGLayout layout) const {
   return isEqual;
 }
 
-bool YGLayout::operator!=(YGLayout layout) const {
+bool YGLayout::operator!=(const YGLayout& layout) const {
   return !(*this == layout);
 }
index 46ca130..a820746 100644 (file)
@@ -37,6 +37,6 @@ struct YGLayout {
 
   YGLayout();
 
-  bool operator==(YGLayout layout) const;
-  bool operator!=(YGLayout layout) const;
+  bool operator==(const YGLayout& layout) const;
+  bool operator!=(const YGLayout& layout) const;
 };
index 64a47d3..6ebc69c 100644 (file)
@@ -436,7 +436,7 @@ YGNode::YGNode(
     YGMeasureFunc measure,
     YGBaselineFunc baseline,
     YGDirtiedFunc dirtied,
-    YGStyle style,
+    const YGStyle& style,
     const YGLayout& layout,
     uint32_t lineIndex,
     YGNodeRef owner,
index 96541a5..186798b 100644 (file)
@@ -49,7 +49,7 @@ struct YGNode {
       YGMeasureFunc measure,
       YGBaselineFunc baseline,
       YGDirtiedFunc dirtied,
-      YGStyle style,
+      const YGStyle& style,
       const YGLayout& layout,
       uint32_t lineIndex,
       YGNodeRef owner,
index 7664dcf..c11dc4e 100644 (file)
@@ -99,7 +99,7 @@ bool YGStyle::operator==(const YGStyle& style) {
   return areNonFloatValuesEqual;
 }
 
-bool YGStyle::operator!=(YGStyle style) {
+bool YGStyle::operator!=(const YGStyle& style) {
   return !(*this == style);
 }
 
index f0f97bd..0aaba54 100644 (file)
@@ -38,6 +38,6 @@ struct YGStyle {
   // Yoga specific properties, not compatible with flexbox specification
   bool operator==(const YGStyle& style);
 
-  bool operator!=(YGStyle style);
+  bool operator!=(const YGStyle& style);
   ~YGStyle();
 };
index be1d963..17dd9ef 100644 (file)
@@ -58,7 +58,7 @@ struct YGCachedMeasurement {
         computedWidth(-1),
         computedHeight(-1) {}
 
-  bool operator==(YGCachedMeasurement measurement) const {
+  bool operator==(const YGCachedMeasurement& measurement) const {
     bool isEqual = widthMeasureMode == measurement.widthMeasureMode &&
         heightMeasureMode == measurement.heightMeasureMode;
 
index 9203cc9..825a32b 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali-toolkit
 Summary:    Dali 3D engine Toolkit
-Version:    1.3.25
+Version:    1.3.26
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-3-Clause and MIT