https://git.reactos.org/?p=reactos.git;a=commitdiff;h=262f712810cd7db20fe67…
commit 262f712810cd7db20fe67decc2cde1bb4e5a7c83
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Sat May 4 10:07:24 2019 +0900
Commit: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
CommitDate: Sat May 4 10:07:24 2019 +0900
[WIN32SS][NTGDI] Correctly get/update ptlCurrent about TA_UPDATECP
---
win32ss/gdi/ntgdi/freetype.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/win32ss/gdi/ntgdi/freetype.c b/win32ss/gdi/ntgdi/freetype.c
index 0f04a3a5d1..f73c1c0902 100644
--- a/win32ss/gdi/ntgdi/freetype.c
+++ b/win32ss/gdi/ntgdi/freetype.c
@@ -5667,9 +5667,10 @@ IntExtTextOutW(
if (pdcattr->flTextAlign & TA_UPDATECP)
{
- Start.x = pdcattr->ptlCurrent.x;
- Start.y = pdcattr->ptlCurrent.y;
- } else {
+ IntGetCurrentPositionEx(dc, &Start);
+ }
+ else
+ {
Start.x = XStart;
Start.y = YStart;
}
@@ -6311,6 +6312,8 @@ IntExtTextOutW(
pdcattr->ptlCurrent.x = vecs[2].x - dc->ptlDCOrig.x;
pdcattr->ptlCurrent.y = vecs[2].y - dc->ptlDCOrig.y;
IntDPtoLP(dc, &pdcattr->ptlCurrent, 1);
+ pdcattr->ulDirty_ &= ~DIRTY_PTLCURRENT;
+ pdcattr->ulDirty_ |= (DIRTY_PTFXCURRENT | DIRTY_STYLESTATE);
}
IntUnLockFreeType();