summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorHerbert Duerr [hdu] <herbert.duerr@oracle.com>2010-11-22 10:18:47 +0100
committerHerbert Duerr [hdu] <herbert.duerr@oracle.com>2010-11-22 10:18:47 +0100
commita7efcc63895bb32164a9077a3e46b7cab33c3454 (patch)
tree4fcb8df283993efc2895348cf6774de3a3b19c68 /vcl
parent7a4ec865eafbb8c0a6fb703d843a8f023c5a6a9c (diff)
#i108584# workaround unexpected ATSUBreakLine error result
Diffstat (limited to 'vcl')
-rwxr-xr-xvcl/aqua/source/gdi/salatslayout.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/vcl/aqua/source/gdi/salatslayout.cxx b/vcl/aqua/source/gdi/salatslayout.cxx
index 335505de85ac..0261ab3b56fa 100755
--- a/vcl/aqua/source/gdi/salatslayout.cxx
+++ b/vcl/aqua/source/gdi/salatslayout.cxx
@@ -753,10 +753,11 @@ int ATSLayout::GetTextBreak( long nMaxWidth, long nCharExtra, int nFactor ) cons
// initial measurement of text break position
UniCharArrayOffset nBreakPos = mnMinCharPos;
- const ATSUTextMeasurement nATSUMaxWidth = Vcl2Fixed( nPixelWidth );
+ 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;