Author: spouliot
Date: 2006-09-19 09:36:46 -0400 (Tue, 19 Sep 2006)
New Revision: 65639

Modified:
   trunk/libgdiplus/src/ChangeLog
   trunk/libgdiplus/src/graphics.c
   trunk/libgdiplus/src/stringformat.c
Log:
2006-09-19  Sebastien Pouliot  <[EMAIL PROTECTED]>

        * graphics.c: Fix parameters checking order and remove duplicates
        checks in GdipMeasureCharacterRanges.
        * stringformat.c: Set defaults to match MS GDI+.



Modified: trunk/libgdiplus/src/ChangeLog
===================================================================
--- trunk/libgdiplus/src/ChangeLog      2006-09-19 13:33:32 UTC (rev 65638)
+++ trunk/libgdiplus/src/ChangeLog      2006-09-19 13:36:46 UTC (rev 65639)
@@ -1,3 +1,9 @@
+2006-09-19  Sebastien Pouliot  <[EMAIL PROTECTED]>
+
+       * graphics.c: Fix parameters checking order and remove duplicates
+       checks in GdipMeasureCharacterRanges.
+       * stringformat.c: Set defaults to match MS GDI+.
+
 2006-09-18  Sebastien Pouliot  <[EMAIL PROTECTED]>
 
        * graphics.c: Avoid unit conversions, when possible, when measuring

Modified: trunk/libgdiplus/src/graphics.c
===================================================================
--- trunk/libgdiplus/src/graphics.c     2006-09-19 13:33:32 UTC (rev 65638)
+++ trunk/libgdiplus/src/graphics.c     2006-09-19 13:36:46 UTC (rev 65639)
@@ -3587,18 +3587,16 @@
        int                     maxY;
        float                   FontSize;
 
-       if (!graphics || !stringUnicode || length == 0 || !font || !layoutRect 
||
-           !format || !regions || regionCount != format->charRangeCount)
+       if (!graphics || !stringUnicode || length == 0 || !font || !layoutRect 
|| !format || !regions)
                return InvalidParameter;
-       
+
        /* No char range or bounding rect is set for measurements */
        if (format->charRangeCount == 0 || layout->Width == 0 || layout->Height 
== 0)
                return Ok;
 
-       /* Sanity; should we check for length==0? */
-       if (!graphics || !stringUnicode || !font) {
-               return(InvalidParameter);
-       }
+       /* if non-zero (previous check) format->charRangeCount must match 
regionCount */
+       if (regionCount != format->charRangeCount)
+               return InvalidParameter;
 
        layoutRect->X = gdip_unitx_convgr (graphics, layout->X);
        layoutRect->Y = gdip_unity_convgr (graphics, layout->Y);

Modified: trunk/libgdiplus/src/stringformat.c
===================================================================
--- trunk/libgdiplus/src/stringformat.c 2006-09-19 13:33:32 UTC (rev 65638)
+++ trunk/libgdiplus/src/stringformat.c 2006-09-19 13:36:46 UTC (rev 65639)
@@ -43,8 +43,8 @@
        result->lineAlignment =  StringAlignmentNear;
        result->hotkeyPrefix = HotkeyPrefixNone;
        result->formatFlags = formatAttributes; 
-       result->trimming = StringTrimmingNone;
-       result->substitute = DigitSubstituteNone;
+       result->trimming = StringTrimmingCharacter;
+       result->substitute = DigitSubstituteUser;
        result->firstTabOffset = 0;
        result->tabStops = NULL;
        result->numtabStops = 0;

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to