Author: tkreuzer
Date: Sun May 13 22:31:28 2012
New Revision: 56582
URL: http://svn.reactos.org/svn/reactos?rev=56582&view=rev
Log:
[WIN32K]
- Handle unknown color types in TranslateCOLORREF
- properly translate the color back to RGB in NtGdiSetPixel
Fixes a few hundred thousand gdi32 winetests (dib) :)
Modified:
trunk/reactos/win32ss/gdi/ntgdi/bitblt.c
Modified: trunk/reactos/win32ss/gdi/ntgdi/bitblt.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/bitblt.c…
==============================================================================
--- trunk/reactos/win32ss/gdi/ntgdi/bitblt.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/gdi/ntgdi/bitblt.c [iso-8859-1] Sun May 13 22:31:28 2012
@@ -18,11 +18,10 @@
#define ROP_TO_ROP4(Rop) ((Rop) >> 16)
ULONG
-TranslateCOLORREF(PDC pdc, COLORREF *pcrColor)
+TranslateCOLORREF(PDC pdc, COLORREF crColor)
{
PPALETTE ppalDC, ppalSurface;
ULONG index, ulColor, iBitmapFormat;
- COLORREF crColor = *pcrColor;
EXLATEOBJ exlo;
switch (crColor >> 24)
@@ -65,15 +64,11 @@
else if (iBitmapFormat == BMF_8BPP) index = crColor & 0xFF;
else if (iBitmapFormat == BMF_16BPP) index = crColor & 0xFFFF;
else index = crColor & 0xFFFFFF;
-
- /* Translate the color to RGB for the caller */
- ppalSurface = pdc->dclevel.pSurface->ppal;
- *pcrColor = PALETTE_ulGetRGBColorFromIndex(ppalSurface, index);
return index;
default:
DPRINT("Unsupported color type %d passed\n", crColor >> 24);
- return 0;
+ crColor &= 0xFFFFFF;
}
/* Initialize an XLATEOBJ from RGB to the target surface */
@@ -86,19 +81,6 @@
/* Cleanup the XLATEOBJ */
EXLATEOBJ_vCleanup(&exlo);
- /* Initialize an XLATEOBJ from the target surface to RGB */
- EXLATEOBJ_vInitialize(&exlo,
- ppalSurface,
- &gpalRGB,
- 0,
- pdc->pdcattr->crBackgroundClr,
- pdc->pdcattr->crForegroundClr);
-
- /* Translate the color back to RGB */
- *pcrColor = XLATEOBJ_iXlate(&exlo.xlo, ulColor);
-
- /* Cleanup and return the target format color */
- EXLATEOBJ_vCleanup(&exlo);
return ulColor;
}
@@ -1070,6 +1052,7 @@
BOOL bResult;
PEBRUSHOBJ pebo;
ULONG ulDirty;
+ EXLATEOBJ exlo;
/* Lock the DC */
pdc = DC_LockDc(hdc);
@@ -1088,7 +1071,7 @@
}
/* Translate the color to the target format and get the RGB value */
- iSolidColor = TranslateCOLORREF(pdc, &crColor);
+ iSolidColor = TranslateCOLORREF(pdc, crColor);
/* Use the DC's text brush, which is always a solid brush */
pebo = &pdc->eboText;
@@ -1106,6 +1089,20 @@
/* Restore old text brush color and dirty flags */
EBRUSHOBJ_iSetSolidColor(pebo, iOldColor);
pdc->pdcattr->ulDirty_ = ulDirty;
+
+ /* Initialize an XLATEOBJ from the target surface to RGB */
+ EXLATEOBJ_vInitialize(&exlo,
+ pdc->dclevel.pSurface->ppal,
+ &gpalRGB,
+ 0,
+ pdc->pdcattr->crBackgroundClr,
+ pdc->pdcattr->crForegroundClr);
+
+ /* Translate the color back to RGB */
+ crColor = XLATEOBJ_iXlate(&exlo.xlo, iSolidColor);
+
+ /* Cleanup and return the target format color */
+ EXLATEOBJ_vCleanup(&exlo);
/* Unlock the DC */
DC_UnlockDc(pdc);
Author: ekohl
Date: Sun May 13 18:28:32 2012
New Revision: 56578
URL: http://svn.reactos.org/svn/reactos?rev=56578&view=rev
Log:
[ADVAPI32]
Do not add the "SeUnsolicitedInputPrivilege" privilege to the administrators privilege set because it has been superseded by the "SeMachineAccountPrivilege" privilege and the later has already been added to the privilege set.
Modified:
trunk/reactos/dll/win32/advapi32/misc/logon.c
Modified: trunk/reactos/dll/win32/advapi32/misc/logon.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/misc/lo…
==============================================================================
--- trunk/reactos/dll/win32/advapi32/misc/logon.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/advapi32/misc/logon.c [iso-8859-1] Sun May 13 18:28:32 2012
@@ -623,7 +623,6 @@
}
DefaultPrivs[] =
{
- { L"SeUnsolicitedInputPrivilege", 0 },
{ L"SeMachineAccountPrivilege", 0 },
{ L"SeSecurityPrivilege", 0 },
{ L"SeTakeOwnershipPrivilege", 0 },