summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToma┼ż Vajngerl <tomaz.vajngerl@collabora.com>2015-10-12 23:28:53 +0200
committerAndras Timar <andras.timar@collabora.com>2015-10-17 23:35:09 +0200
commit32ee5c7225f8ffdeef518dbd9a0cef9107ea2726 (patch)
tree455552bc4e8e47b525d970b6beaf9fd867468d58
parent82929611ba2a996c8e3425ed352da7a053cd7c3d (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> (cherry picked from commit 2436123e60a892ae74f65b2698d23c3b36a89f12)
-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