diff options
author | Rene Engelhard <rene@debian.org> | 2010-11-26 17:42:01 +0100 |
---|---|---|
committer | Rene Engelhard <rene@debian.org> | 2010-11-26 17:42:01 +0100 |
commit | 5529d7947ce3ceabf072dc2fd4178afba356a590 (patch) | |
tree | accc3bd501551643263de50460e9f78bde9f24c3 /vcl/aqua | |
parent | afd5ff21ce4e5859a92eef96157e3779c5b30853 (diff) | |
parent | baa3cdb1a532bb79ec3fbfbc23cbb4ee4b566308 (diff) |
Merge commit 'ooo/OOO330_m17' into libreoffice-3-3
Diffstat (limited to 'vcl/aqua')
-rw-r--r-- | vcl/aqua/source/gdi/salatslayout.cxx | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/vcl/aqua/source/gdi/salatslayout.cxx b/vcl/aqua/source/gdi/salatslayout.cxx index 6f21be3f5c49..f79da3559b35 100644 --- a/vcl/aqua/source/gdi/salatslayout.cxx +++ b/vcl/aqua/source/gdi/salatslayout.cxx @@ -751,9 +751,10 @@ int ATSLayout::GetTextBreak( long nMaxWidth, long nCharExtra, int nFactor ) cons // initial measurement of text break position UniCharArrayOffset nBreakPos = mnMinCharPos; const ATSUTextMeasurement nATSUMaxWidth = Vcl2Fixed( nPixelWidth ); + if( nATSUMaxWidth <= 0xFFFF ) // #i108584# avoid ATSU rejecting the parameter + return mnMinCharPos; // or do ATSUMaxWidth=0x10000; OSStatus eStatus = ATSUBreakLine( maATSULayout, mnMinCharPos, nATSUMaxWidth, false, &nBreakPos ); - if( (eStatus != noErr) && (eStatus != kATSULineBreakInWord) ) return STRING_LEN; @@ -778,7 +779,7 @@ int ATSLayout::GetTextBreak( long nMaxWidth, long nCharExtra, int nFactor ) cons if( eStatus != noErr ) return nBreakPos; const ATSUTextMeasurement nATSURemWidth = nATSUMaxWidth - (nRight - nLeft); - if( nATSURemWidth <= 0 ) + if( nATSURemWidth <= 0xFFFF ) // #i108584# avoid ATSU rejecting the parameter return nBreakPos; UniCharArrayOffset nBreakPosInWord = nBreakPos; eStatus = ATSUBreakLine( maATSULayout, nBreakPos, nATSURemWidth, false, &nBreakPosInWord ); |