projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Grid layout crash fix
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
layouting
/
grid-impl.cpp
diff --git
a/dali-toolkit/internal/layouting/grid-impl.cpp
b/dali-toolkit/internal/layouting/grid-impl.cpp
index
af9b82e
..
b633523
100644
(file)
--- a/
dali-toolkit/internal/layouting/grid-impl.cpp
+++ b/
dali-toolkit/internal/layouting/grid-impl.cpp
@@
-76,14
+76,14
@@
int Grid::GetNumberOfColumns() const
return mNumColumns;
}
return mNumColumns;
}
-void Grid::DetermineNumberOfColumns(
int
availableSpace )
+void Grid::DetermineNumberOfColumns(
LayoutLength
availableSpace )
{
if( mRequestedNumColumns == AUTO_FIT )
{
if( availableSpace > 0 )
{
// Can only calculate number of columns if a column width has been set
{
if( mRequestedNumColumns == AUTO_FIT )
{
if( availableSpace > 0 )
{
// Can only calculate number of columns if a column width has been set
- mNumColumns = ( mRequestedColumnWidth > 0 ) ? ( availableSpace / mRequestedColumnWidth ) : 1;
+ mNumColumns = ( mRequestedColumnWidth > 0 ) ? ( availableSpace
.AsInteger()
/ mRequestedColumnWidth ) : 1;
}
}
}
}
}
}
@@
-100,8
+100,8
@@
void Grid::OnMeasure( MeasureSpec widthMeasureSpec, MeasureSpec heightMeasureSpe
LayoutLength widthSize = widthMeasureSpec.GetSize();
LayoutLength heightSize = heightMeasureSpec.GetSize();
LayoutLength widthSize = widthMeasureSpec.GetSize();
LayoutLength heightSize = heightMeasureSpec.GetSize();
-
int availableContentWidth(0
);
-
int availableContentHeight(0
);
+
LayoutLength availableContentWidth( 0
);
+
LayoutLength availableContentHeight( 0
);
LayoutLength desiredChildHeight( 0 );
LayoutLength desiredChildWidth( 0 );
LayoutLength desiredChildHeight( 0 );
LayoutLength desiredChildWidth( 0 );
@@
-132,7
+132,7
@@
void Grid::OnMeasure( MeasureSpec widthMeasureSpec, MeasureSpec heightMeasureSpe
desiredChildWidth += childMargin.start + childMargin.end;
mTotalWidth = desiredChildWidth * mNumColumns;
desiredChildWidth += childMargin.start + childMargin.end;
mTotalWidth = desiredChildWidth * mNumColumns;
- DALI_LOG_
INFO( gLogFilter, Debug::Verbose, "Grid::OnMeasure TotalDesiredWidth(%d) \n", mTotalWidth.mValue
);
+ DALI_LOG_
STREAM( gLogFilter, Debug::Verbose, "Grid::OnMeasure TotalDesiredWidth(" << mTotalWidth << ") \n"
);
} // Child is LayoutItem
} // Child exists
} // Child is LayoutItem
} // Child exists
@@
-152,9
+152,7
@@
void Grid::OnMeasure( MeasureSpec widthMeasureSpec, MeasureSpec heightMeasureSpe
availableContentWidth = mTotalWidth - gridLayoutPadding.start - gridLayoutPadding.end;
widthSize = mTotalWidth;
availableContentWidth = mTotalWidth - gridLayoutPadding.start - gridLayoutPadding.end;
widthSize = mTotalWidth;
- DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Grid::OnMeasure availableContentWidth(%d) mTotalWidth(%d) \n",
- availableContentWidth,
- mTotalWidth.mValue );
+ DALI_LOG_STREAM( gLogFilter, Debug::Verbose, "Grid::OnMeasure availableContentWidth" << availableContentWidth << " mTotalWidth(" << mTotalWidth << ") \n" );
// HEIGHT SPECIFICATIONS
// heightMode EXACTLY so grid must be the given height
// HEIGHT SPECIFICATIONS
// heightMode EXACTLY so grid must be the given height
@@
-168,8
+166,7
@@
void Grid::OnMeasure( MeasureSpec widthMeasureSpec, MeasureSpec heightMeasureSpe
{
mTotalHeight += desiredChildHeight;
}
{
mTotalHeight += desiredChildHeight;
}
- DALI_LOG_INFO( gLogFilter, Debug::Verbose, "Grid::OnMeasure TotalDesiredHeight(%d) \n",
- mTotalHeight.mValue );
+ DALI_LOG_STREAM( gLogFilter, Debug::Verbose, "Grid::OnMeasure TotalDesiredHeight(" << mTotalHeight << ") \n" );
// Ensure ourHeight does not exceed specified atmost height
mTotalHeight = std::min( mTotalHeight, heightSize );
// Ensure ourHeight does not exceed specified atmost height
mTotalHeight = std::min( mTotalHeight, heightSize );
@@
-199,7
+196,7
@@
void Grid::OnMeasure( MeasureSpec widthMeasureSpec, MeasureSpec heightMeasureSpe
DetermineNumberOfColumns( availableContentWidth );
// Locations define the start, end,top and bottom of each cell.
DetermineNumberOfColumns( availableContentWidth );
// Locations define the start, end,top and bottom of each cell.
- mLocations->CalculateLocations( mNumColumns, availableContentWidth
, availableContentHeight, childCount, 0, 0
);
+ mLocations->CalculateLocations( mNumColumns, availableContentWidth
.AsInteger(), availableContentHeight.AsInteger(), childCount
);
SetMeasuredDimensions( ResolveSizeAndState( widthSize, widthMeasureSpec, MeasuredSize::State::MEASURED_SIZE_OK ),
SetMeasuredDimensions( ResolveSizeAndState( widthSize, widthMeasureSpec, MeasuredSize::State::MEASURED_SIZE_OK ),