mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 00:45:24 +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);
|
EXLATEOBJ_vInitTrivial(pexlo);
|
||||||
|
|
||||||
if (ppalDst == ppalSrc || !ppalSrc || !ppalDst ||
|
if (!ppalSrc || !ppalDst)
|
||||||
((ppalDst->flFlags == PAL_RGB || ppalDst->flFlags == PAL_BGR) &&
|
|
||||||
ppalDst->flFlags == ppalSrc->flFlags))
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -372,6 +370,13 @@ EXLATEOBJ_vInitialize(
|
||||||
pexlo->ppalDst = ppalDst;
|
pexlo->ppalDst = ppalDst;
|
||||||
pexlo->xlo.iSrcType = ppalSrc->flFlags;
|
pexlo->xlo.iSrcType = ppalSrc->flFlags;
|
||||||
pexlo->xlo.iDstType = ppalDst->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 */
|
/* Chack if both of the pallettes are indexed */
|
||||||
if (!(ppalSrc->flFlags & PAL_INDEXED) || !(ppalDst->flFlags & PAL_INDEXED))
|
if (!(ppalSrc->flFlags & PAL_INDEXED) || !(ppalDst->flFlags & PAL_INDEXED))
|
||||||
|
@ -607,13 +612,6 @@ EXLATEOBJ_vInitXlateFromDCs(
|
||||||
psurfDst = pdcDst->dclevel.pSurface;
|
psurfDst = pdcDst->dclevel.pSurface;
|
||||||
psurfSrc = pdcSrc->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 */
|
/* Normal initialisation. No surface means DEFAULT_BITMAP */
|
||||||
EXLATEOBJ_vInitialize(pexlo,
|
EXLATEOBJ_vInitialize(pexlo,
|
||||||
psurfSrc ? psurfSrc->ppal : &gpalMono,
|
psurfSrc ? psurfSrc->ppal : &gpalMono,
|
||||||
|
|
Loading…
Reference in a new issue