mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
[WIN32K]
Fix initialization of XLATEOBJ, when source and dest format are equal. Patch by Thomas Faber (thfabba at gmx de) See issue #5828 for more details. svn path=/trunk/; revision=50694
This commit is contained in:
parent
f571cf32bd
commit
c1f1c6ee41
1 changed files with 8 additions and 10 deletions
|
@ -361,9 +361,7 @@ EXLATEOBJ_vInitialize(
|
|||
|
||||
EXLATEOBJ_vInitTrivial(pexlo);
|
||||
|
||||
if (ppalDst == ppalSrc || !ppalSrc || !ppalDst ||
|
||||
((ppalDst->flFlags == PAL_RGB || ppalDst->flFlags == PAL_BGR) &&
|
||||
ppalDst->flFlags == ppalSrc->flFlags))
|
||||
if (!ppalSrc || !ppalDst)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -372,6 +370,13 @@ EXLATEOBJ_vInitialize(
|
|||
pexlo->ppalDst = ppalDst;
|
||||
pexlo->xlo.iSrcType = ppalSrc->flFlags;
|
||||
pexlo->xlo.iDstType = ppalDst->flFlags;
|
||||
|
||||
if (ppalDst == ppalSrc ||
|
||||
((ppalDst->flFlags == PAL_RGB || ppalDst->flFlags == PAL_BGR) &&
|
||||
ppalDst->flFlags == ppalSrc->flFlags))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* Chack if both of the pallettes are indexed */
|
||||
if (!(ppalSrc->flFlags & PAL_INDEXED) || !(ppalDst->flFlags & PAL_INDEXED))
|
||||
|
@ -607,13 +612,6 @@ EXLATEOBJ_vInitXlateFromDCs(
|
|||
psurfDst = pdcDst->dclevel.pSurface;
|
||||
psurfSrc = pdcSrc->dclevel.pSurface;
|
||||
|
||||
/* Check for trivial color translation */
|
||||
if (psurfDst == psurfSrc)
|
||||
{
|
||||
EXLATEOBJ_vInitTrivial(pexlo);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Normal initialisation. No surface means DEFAULT_BITMAP */
|
||||
EXLATEOBJ_vInitialize(pexlo,
|
||||
psurfSrc ? psurfSrc->ppal : &gpalMono,
|
||||
|
|
Loading…
Reference in a new issue