Piotr Caban : riched20: Don' t allow negative margins in ME_WrapTextParagraph.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Apr 18 10:37:03 CDT 2016


Module: wine
Branch: master
Commit: 3dbd46716299883761be9c4c4173a5f0402b2f7c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3dbd46716299883761be9c4c4173a5f0402b2f7c

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Mon Apr 18 15:14:39 2016 +0200

riched20: Don't allow negative margins in ME_WrapTextParagraph.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/riched20/tests/editor.c | 2 +-
 dlls/riched20/wrap.c         | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c
index 5f4cc05..ae9c0a5 100644
--- a/dlls/riched20/tests/editor.c
+++ b/dlls/riched20/tests/editor.c
@@ -732,7 +732,7 @@ static void test_EM_POSFROMCHAR(void)
   SendMessageA(hwndRichEdit, WM_SETTEXT, 0,
           (LPARAM)"{\\rtf1\\pard\\fi-200\\li-200\\f1 TestSomeText\\par}");
   SendMessageA(hwndRichEdit, EM_POSFROMCHAR, (WPARAM)&pt, 0);
-  todo_wine ok(pt.x == 1, "pt.x = %d\n", pt.x);
+  ok(pt.x == 1, "pt.x = %d\n", pt.x);
 
   fmt.cbSize = sizeof(fmt);
   SendMessageA(hwndRichEdit, EM_GETPARAFORMAT, 0, (LPARAM)&fmt);
diff --git a/dlls/riched20/wrap.c b/dlls/riched20/wrap.c
index 49a62ce..b488bf1 100644
--- a/dlls/riched20/wrap.c
+++ b/dlls/riched20/wrap.c
@@ -879,6 +879,11 @@ static void ME_WrapTextParagraph(ME_Context *c, ME_DisplayItem *tp) {
     wc.nFirstMargin = ME_twips2pointsX(c, dxStartIndent);
     wc.nLeftMargin = wc.nFirstMargin + ME_twips2pointsX(c, pFmt->dxOffset);
     wc.nRightMargin = ME_twips2pointsX(c, pFmt->dxRightIndent);
+
+    if (wc.nFirstMargin < 0)
+        wc.nFirstMargin = 0;
+    if (wc.nLeftMargin < 0)
+        wc.nLeftMargin = 0;
   }
   if (c->editor->bEmulateVersion10 && /* v1.0 - 3.0 */
       pFmt->dwMask & PFM_TABLE && pFmt->wEffects & PFE_TABLE)




More information about the wine-cvs mailing list