gdi32: Make the PS_NULL test pass under Wine
Dmitry Timoshkov
dmitry at codeweavers.com
Tue Sep 30 13:09:02 CDT 2008
---
dlls/gdi32/pen.c | 6 ++++++
dlls/gdi32/tests/pen.c | 2 --
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/gdi32/pen.c b/dlls/gdi32/pen.c
index 6fe39af..a308f2b 100644
--- a/dlls/gdi32/pen.c
+++ b/dlls/gdi32/pen.c
@@ -80,6 +80,12 @@ HPEN WINAPI CreatePenIndirect( const LOGPEN * pen )
PENOBJ * penPtr;
HPEN hpen;
+ if (pen->lopnStyle == PS_NULL)
+ {
+ hpen = GetStockObject(NULL_PEN);
+ if (hpen) return hpen;
+ }
+
if (!(penPtr = GDI_AllocObject( sizeof(PENOBJ), PEN_MAGIC, (HGDIOBJ *)&hpen,
&pen_funcs ))) return 0;
if (pen->lopnStyle == PS_USERSTYLE || pen->lopnStyle == PS_ALTERNATE)
diff --git a/dlls/gdi32/tests/pen.c b/dlls/gdi32/tests/pen.c
index 144875b..64304fa 100644
--- a/dlls/gdi32/tests/pen.c
+++ b/dlls/gdi32/tests/pen.c
@@ -144,7 +144,6 @@ static void test_logpen(void)
/* for some reason XP differentiates PS_NULL here */
if (pen[i].style == PS_NULL)
{
- todo_wine
ok(hpen == GetStockObject(NULL_PEN), "hpen should be a stock NULL_PEN\n");
ok(size == sizeof(EXTLOGPEN), "GetObject returned %d, error %d\n", size, GetLastError());
ok(elp.elpPenStyle == pen[i].ret_style, "expected %u, got %u\n", pen[i].ret_style, elp.elpPenStyle);
@@ -210,7 +209,6 @@ static void test_logpen(void)
if (pen[i].style == PS_NULL)
{
ok(obj_type == OBJ_PEN, "wrong object type %u\n", obj_type);
- todo_wine
ok(hpen == GetStockObject(NULL_PEN), "hpen should be a stock NULL_PEN\n");
}
else
--
1.6.0.2
More information about the wine-patches
mailing list