Nikolay Sivov : d2d1: SetDpi() rejects negative values too.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jan 21 11:22:06 CST 2016


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Wed Jan 20 21:31:58 2016 +0300

d2d1: SetDpi() rejects negative values too.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d2d1/render_target.c |  2 +-
 dlls/d2d1/tests/d2d1.c    | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/dlls/d2d1/render_target.c b/dlls/d2d1/render_target.c
index e4a4ad4..ec2fec1 100644
--- a/dlls/d2d1/render_target.c
+++ b/dlls/d2d1/render_target.c
@@ -1439,7 +1439,7 @@ static void STDMETHODCALLTYPE d2d_d3d_render_target_SetDpi(ID2D1RenderTarget *if
         dpi_x = 96.0f;
         dpi_y = 96.0f;
     }
-    else if (dpi_x == 0.0f || dpi_y == 0.0f)
+    else if (dpi_x <= 0.0f || dpi_y <= 0.0f)
         return;
 
     render_target->dpi_x = dpi_x;
diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c
index c7d67f1..e6d1a68 100644
--- a/dlls/d2d1/tests/d2d1.c
+++ b/dlls/d2d1/tests/d2d1.c
@@ -593,6 +593,16 @@ static void test_clip(void)
     ok(dpi_x == 192.0f, "Got unexpected dpi_x %.8e.\n", dpi_x);
     ok(dpi_y == 192.0f, "Got unexpected dpi_y %.8e.\n", dpi_y);
 
+    ID2D1RenderTarget_SetDpi(rt, -10.0f, 96.0f);
+    ID2D1RenderTarget_GetDpi(rt, &dpi_x, &dpi_y);
+    ok(dpi_x == 192.0f, "Got unexpected dpi_x %.8e.\n", dpi_x);
+    ok(dpi_y == 192.0f, "Got unexpected dpi_y %.8e.\n", dpi_y);
+
+    ID2D1RenderTarget_SetDpi(rt, 96.0f, -10.0f);
+    ID2D1RenderTarget_GetDpi(rt, &dpi_x, &dpi_y);
+    ok(dpi_x == 192.0f, "Got unexpected dpi_x %.8e.\n", dpi_x);
+    ok(dpi_y == 192.0f, "Got unexpected dpi_y %.8e.\n", dpi_y);
+
     ID2D1RenderTarget_SetDpi(rt, 96.0f, 0.0f);
     ID2D1RenderTarget_GetDpi(rt, &dpi_x, &dpi_y);
     ok(dpi_x == 192.0f, "Got unexpected dpi_x %.8e.\n", dpi_x);




More information about the wine-cvs mailing list