Author: gschneider Date: Thu Nov 27 14:31:37 2008 New Revision: 37693
URL: http://svn.reactos.org/svn/reactos?rev=37693&view=rev Log: - PS_NULL might always be a LOGPEN, but can be retrieved as LOGPEN and EXTLOGPEN, distinguished by the supplied buffer size - Fixes 8 gdi32 pen winetests, finally all left failures are visible in one cmd window ;-)
Modified: trunk/reactos/subsystems/win32/win32k/objects/pen.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/pen.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/pen.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/pen.c [iso-8859-1] Thu Nov 27 14:31:37 2008 @@ -209,8 +209,23 @@ PLOGPEN pLogPen; PEXTLOGPEN pExtLogPen; INT cbRetCount; - - if (pPenObject->flAttrs & GDIBRUSH_IS_OLDSTYLEPEN) + BOOLEAN isOldPen; + + isOldPen = (pPenObject->flAttrs & GDIBRUSH_IS_OLDSTYLEPEN) > 0; + if ((pPenObject->ulPenStyle & PS_STYLE_MASK) == PS_NULL) + { + /* PS_NULL can be retrieved as LOGPEN or as EXTLOGPEN */ + if (cbCount == sizeof(LOGPEN)) + { + isOldPen = TRUE; + } + else if (cbCount == sizeof(EXTLOGPEN)) + { + isOldPen = FALSE; + } + } + + if (isOldPen) { cbRetCount = sizeof(LOGPEN); if (pBuffer)