- Use DC_vPrepareForBlit, DC_vFinishBlit in GreTextOutputW
  - So we can get rid of MouseSafetyOnDraw{Start,End} in IntEngMaskBlt

svn path=/branches/reactos-yarotows/; revision=46911
This commit is contained in:
Jérôme Gardou 2010-04-17 22:48:44 +00:00
parent fa0a6275a9
commit 53222b46da
2 changed files with 5 additions and 3 deletions

View file

@ -973,8 +973,6 @@ IntEngMaskBlt(SURFOBJ *psoDest,
psurfDest = CONTAINING_RECORD(psoDest, SURFACE, SurfObj);
SURFACE_LockBitmapBits(psurfDest);
MouseSafetyOnDrawStart(psoDest, OutputRect.left, OutputRect.top,
OutputRect.right, OutputRect.bottom);
/* Dummy BitBlt to let driver know that it should flush its changes.
This should really be done using a call to DrvSynchronizeSurface,
@ -991,7 +989,6 @@ IntEngMaskBlt(SURFOBJ *psoDest,
DestRect, pptlMask, pptlMask, pbo, BrushOrigin,
R4_NOOP, FALSE);
MouseSafetyOnDrawEnd(psoDest);
SURFACE_UnlockBitmapBits(psurfDest);
return ret;

View file

@ -3187,6 +3187,9 @@ GreExtTextOutW(
return TRUE;
}
/* FIXME : This is ugly, but this function must be rewritten anyway */
DC_vPrepareDCsForBlit(dc, dc->rosdc.CombinedClip->rclBounds, NULL, DestRect);
pdcattr = dc->pdcattr;
if (pdcattr->ulDirty_ & DIRTY_TEXT)
@ -3613,6 +3616,7 @@ GreExtTextOutW(
if (TextObj != NULL)
TEXTOBJ_UnlockText(TextObj);
good:
DC_vFinishBlit(dc, NULL);
DC_UnlockDc( dc );
return TRUE;
@ -3623,6 +3627,7 @@ fail2:
fail:
if (TextObj != NULL)
TEXTOBJ_UnlockText(TextObj);
DC_vFinishBlit(dc, NULL);
DC_UnlockDc(dc);
return FALSE;