From: Paul Wisbey
Date: Thu, 20 Aug 2015 14:22:26 +0000 (+0100)
Subject: Fixed cursor behavior when no text is set
X-Git-Tag: dali_1.1.1~6^2
X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=b019f242d6a6cca962f36ec6cb5070447c0eb1e0
Fixed cursor behavior when no text is set
Change-Id: Ic794e633b284c1257126343ac6c0f6ec615868da
---
diff --git a/dali-toolkit/internal/text/decorator/text-decorator.cpp b/dali-toolkit/internal/text/decorator/text-decorator.cpp
index 2f8d0e4..3e67d8c 100644
--- a/dali-toolkit/internal/text/decorator/text-decorator.cpp
+++ b/dali-toolkit/internal/text/decorator/text-decorator.cpp
@@ -772,7 +772,6 @@ struct Decorator::Impl : public ConnectionTracker
for( std::size_t v = 0; iter != endIter; ++iter,v+=4 )
{
-
QuadCoordinates& quad = *iter;
// top-left (v+0)
@@ -846,7 +845,10 @@ struct Decorator::Impl : public ConnectionTracker
mHighlightQuadList.clear();
- mHighlightRenderer.SetDepthIndex( mTextDepth - 2u ); // text is rendered at mTextDepth and text's shadow at mTextDepth -1u.
+ if( mHighlightRenderer )
+ {
+ mHighlightRenderer.SetDepthIndex( mTextDepth - 2u ); // text is rendered at mTextDepth and text's shadow at mTextDepth -1u.
+ }
}
}
diff --git a/dali-toolkit/internal/text/text-controller-impl.h b/dali-toolkit/internal/text/text-controller-impl.h
index 4b1658c..3073611 100644
--- a/dali-toolkit/internal/text/text-controller-impl.h
+++ b/dali-toolkit/internal/text/text-controller-impl.h
@@ -279,6 +279,12 @@ struct Controller::Impl
return ( mEventData && mEventData->mIsShowingPlaceholderText );
}
+ bool IsShowingRealText() const
+ {
+ return ( !IsShowingPlaceholderText() &&
+ 0u != mLogicalModel->mText.Count() );
+ }
+
/**
* @brief Called when placeholder-text is hidden
*/
diff --git a/dali-toolkit/internal/text/text-controller.cpp b/dali-toolkit/internal/text/text-controller.cpp
index 25ff08d..4b75ffb 100644
--- a/dali-toolkit/internal/text/text-controller.cpp
+++ b/dali-toolkit/internal/text/text-controller.cpp
@@ -1383,11 +1383,10 @@ void Controller::TapEvent( unsigned int tapCount, float x, float y )
if( NULL != mImpl->mEventData )
{
- const bool isShowingPlaceholderText = mImpl->IsShowingPlaceholderText();
if( 1u == tapCount )
{
- if( !isShowingPlaceholderText &&
- ( EventData::EDITING == mImpl->mEventData->mState ) )
+ if( mImpl->IsShowingRealText() &&
+ EventData::EDITING == mImpl->mEventData->mState )
{
mImpl->ChangeState( EventData::EDITING_WITH_GRAB_HANDLE );
}
@@ -1405,11 +1404,13 @@ void Controller::TapEvent( unsigned int tapCount, float x, float y )
mImpl->RequestRelayout();
}
- else if( !isShowingPlaceholderText &&
- mImpl->mEventData->mSelectionEnabled &&
- ( 2u == tapCount ) )
+ else if( 2u == tapCount )
{
- SelectEvent( x, y, false );
+ if( mImpl->mEventData->mSelectionEnabled &&
+ mImpl->IsShowingRealText() )
+ {
+ SelectEvent( x, y, false );
+ }
}
}