summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.com>2015-10-12 23:28:53 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-10-14 09:38:12 +0000
commit2436123e60a892ae74f65b2698d23c3b36a89f12 (patch)
tree00acb748507e7e32eb74681059ade403a51b9b28
parente95b9fd796e3a52afbb52bc142019115653c6099 (diff)
tdf#77014 fix input field breaking of words at new line
SwTextInputFieldPortion::Format has previously tried to erase the input field special chars, which caused the words not breaking as expected or in the same way as normal text. It appears that it is actually not necessary to do this at all so just calling the super class method SwTextPortion::Format does the job and fixes the problem. After testing I could not find anything that is obviously wrong. (cherry picked from commit 5e1714fd7fcb45fa5f1220d892dba597da40b500) Change-Id: Ie763f55ad55863dd224425dc481b7100deb639fa Reviewed-on: https://gerrit.libreoffice.org/19352 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--sw/source/core/text/portxt.cxx51
1 files changed, 1 insertions, 50 deletions
diff --git a/sw/source/core/text/portxt.cxx b/sw/source/core/text/portxt.cxx
index 4f17702621f9..3b512eedcce8 100644
--- a/sw/source/core/text/portxt.cxx
+++ b/sw/source/core/text/portxt.cxx
@@ -656,56 +656,7 @@ SwTxtInputFldPortion::SwTxtInputFldPortion()
bool SwTxtInputFldPortion::Format( SwTxtFormatInfo &rInf )
{
- mbContainsInputFieldStart =
- rInf.GetChar( rInf.GetIdx() ) == CH_TXT_ATR_INPUTFIELDSTART;
- mbContainsInputFieldEnd =
- rInf.GetChar( rInf.GetIdx() + rInf.GetLen() - 1 ) == CH_TXT_ATR_INPUTFIELDEND;
-
- bool bRet = false;
- if ( rInf.GetLen() == 1
- && ( mbContainsInputFieldStart || mbContainsInputFieldEnd ) )
- {
- Width( 0 );
- }
- else
- {
- SwTxtSlot aFormatTxt( &rInf, this, true, true );
- if ( rInf.GetLen() == 0 )
- {
- Width( 0 );
- }
- else
- {
- const sal_Int32 nFormerLineStart = rInf.GetLineStart();
- if ( !mbContainsInputFieldStart )
- {
- rInf.SetLineStart( 0 );
- }
-
- bRet = SwTxtPortion::Format( rInf );
-
- if ( mbContainsInputFieldEnd )
- {
- // adjust portion length accordingly, if complete text fits into the portion
- if ( GetLen() == rInf.GetLen() )
- {
- SetLen( GetLen() + 1 );
- }
- }
-
- if ( mbContainsInputFieldStart )
- {
- // adjust portion length accordingly
- SetLen( GetLen() + 1 );
- }
- else
- {
- rInf.SetLineStart( nFormerLineStart );
- }
- }
- }
-
- return bRet;
+ return SwTxtPortion::Format(rInf);
}
void SwTxtInputFldPortion::Paint( const SwTxtPaintInfo &rInf ) const