Dylan Smith : richedit: Correct limitations on values for setting zoom ratio.
Alexandre Julliard
julliard at winehq.org
Wed Jan 14 09:03:42 CST 2009
Module: wine
Branch: master
Commit: b81144b35075911afbd92e2e523582b55b0db58b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b81144b35075911afbd92e2e523582b55b0db58b
Author: Dylan Smith <dylan.ah.smith at gmail.com>
Date: Tue Jan 13 13:39:39 2009 -0500
richedit: Correct limitations on values for setting zoom ratio.
---
dlls/riched20/paint.c | 17 +++++++++--------
dlls/riched20/tests/editor.c | 16 ++++++++--------
2 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/dlls/riched20/paint.c b/dlls/riched20/paint.c
index 47e4af1..565d467 100644
--- a/dlls/riched20/paint.c
+++ b/dlls/riched20/paint.c
@@ -1230,18 +1230,19 @@ ME_SetZoom(ME_TextEditor *editor, int numerator, int denominator)
{
/* TODO: Zoom images and objects */
- if (numerator != 0)
+ if (numerator == 0 && denominator == 0)
{
- if (denominator == 0)
- return FALSE;
- if (1.0 / 64.0 > (float)numerator / (float)denominator
- || (float)numerator / (float)denominator > 64.0)
- return FALSE;
+ editor->nZoomNumerator = editor->nZoomDenominator = 0;
+ return TRUE;
}
-
+ if (numerator <= 0 || denominator <= 0)
+ return FALSE;
+ if (numerator * 64 <= denominator || numerator / denominator >= 64)
+ return FALSE;
+
editor->nZoomNumerator = numerator;
editor->nZoomDenominator = denominator;
-
+
ME_RewrapRepaint(editor);
return TRUE;
}
diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c
index 4165f5e..633620b 100644
--- a/dlls/riched20/tests/editor.c
+++ b/dlls/riched20/tests/editor.c
@@ -6376,27 +6376,27 @@ static void test_zoom(void)
ok(ret == TRUE, "EM_SETZOOM rejected valid values (%d).\n", ret);
ret = SendMessage(hwnd, EM_SETZOOM, (WPARAM)2, (LPARAM)128);
- todo_wine ok(ret == FALSE, "EM_SETZOOM accepted invalid values (%d).\n", ret);
+ ok(ret == FALSE, "EM_SETZOOM accepted invalid values (%d).\n", ret);
ret = SendMessage(hwnd, EM_GETZOOM, (WPARAM)&numerator, (LPARAM)&denominator);
- todo_wine ok(numerator == 127, "incorrect numerator is %d\n", numerator);
- todo_wine ok(denominator == 2, "incorrect denominator is %d\n", denominator);
+ ok(numerator == 127, "incorrect numerator is %d\n", numerator);
+ ok(denominator == 2, "incorrect denominator is %d\n", denominator);
ok(ret == TRUE, "EM_GETZOOM failed (%d).\n", ret);
ret = SendMessage(hwnd, EM_SETZOOM, (WPARAM)128, (LPARAM)2);
- todo_wine ok(ret == FALSE, "EM_SETZOOM accepted invalid values (%d).\n", ret);
+ ok(ret == FALSE, "EM_SETZOOM accepted invalid values (%d).\n", ret);
/* See if negative numbers are accepted. */
ret = SendMessage(hwnd, EM_SETZOOM, (WPARAM)-100, (LPARAM)-100);
- todo_wine ok(ret == FALSE, "EM_SETZOOM accepted invalid values (%d).\n", ret);
+ ok(ret == FALSE, "EM_SETZOOM accepted invalid values (%d).\n", ret);
/* See if negative numbers are accepted. */
ret = SendMessage(hwnd, EM_SETZOOM, (WPARAM)0, (LPARAM)100);
- todo_wine ok(ret == FALSE, "EM_SETZOOM failed (%d).\n", ret);
+ ok(ret == FALSE, "EM_SETZOOM failed (%d).\n", ret);
ret = SendMessage(hwnd, EM_GETZOOM, (WPARAM)&numerator, (LPARAM)&denominator);
- todo_wine ok(numerator == 127, "incorrect numerator is %d\n", numerator);
- todo_wine ok(denominator == 2, "incorrect denominator is %d\n", denominator);
+ ok(numerator == 127, "incorrect numerator is %d\n", numerator);
+ ok(denominator == 2, "incorrect denominator is %d\n", denominator);
ok(ret == TRUE, "EM_GETZOOM failed (%d).\n", ret);
/* Reset the zoom value */
More information about the wine-cvs
mailing list