Blob Blame History Raw
diff -pruN -x '.moz*' -x .deps -x 'thunderbird*' -x '*.mk' -x 'config*' -x dist -x build -x toolkit -x '*o' -x '*a' -x '*html' mozilla.orig/layout/generic/nsTextFrame.cpp mozilla/layout/generic/nsTextFrame.cpp
--- mozilla.orig/layout/generic/nsTextFrame.cpp	2006-12-20 12:53:26.000000000 +0900
+++ mozilla/layout/generic/nsTextFrame.cpp	2006-12-20 15:43:14.000000000 +0900
@@ -2097,11 +2097,11 @@ nsTextFrame::PaintTextDecorations(nsIRen
     nsRect rect = GetRect();
     while(aDetails){
       const nscoord* sp= aSpacing;
-      PRInt32 startOffset = 0;
-      PRInt32 textWidth = 0;
-      PRInt32 start = PR_MAX(0,(aDetails->mStart - (PRInt32)aIndex));
-      PRInt32 end = PR_MIN((PRInt32)aLength,(aDetails->mEnd - (PRInt32)aIndex));
-      PRInt32 i;
+      PRUint32 startOffset = 0;
+      PRUint32 textWidth = 0;
+      PRUint32 start = PR_MAX(0,(aDetails->mStart - (PRInt32)aIndex));
+      PRUint32 end = PR_MIN((PRInt32)aLength,(aDetails->mEnd - (PRInt32)aIndex));
+      PRUint32 i;
       if ((start < end) && ((aLength - start) > 0))
       {
         //aDetails allready processed to have offsets from frame start not content offsets
@@ -2117,7 +2117,7 @@ nsTextFrame::PaintTextDecorations(nsIRen
                 }
               }
               else
-                aRenderingContext.GetWidth(aText, start, startOffset);
+                aRenderingContext.GetRangeWidth(aText, aLength, 0, start, startOffset);
             }
             if (sp){
               for (i = start; i < end;i ++){
@@ -2125,8 +2125,7 @@ nsTextFrame::PaintTextDecorations(nsIRen
               }
             }
             else
-              aRenderingContext.GetWidth(aText + start,
-                                           PRUint32(end - start), textWidth);
+              aRenderingContext.GetRangeWidth(aText, aLength, start, end, textWidth);
   
           }
           nscoord offset, size;