diff --git a/win32ss/user/rtl/text.c b/win32ss/user/rtl/text.c index 061e49b6d5..8252b83f47 100644 --- a/win32ss/user/rtl/text.c +++ b/win32ss/user/rtl/text.c @@ -1263,8 +1263,13 @@ INT WINAPI DrawTextExWorker( HDC hdc, if (flags & DT_SINGLELINE) { #ifdef __REACTOS__ - if (flags & DT_VCENTER) y = rect->top + - (rect->bottom - rect->top + (invert_y ? size.cy : -size.cy)) / 2; + if (flags & DT_VCENTER) + { + int MoveDown = (rect->bottom - rect->top) / 2 + (invert_y ? size.cy : -size.cy) / 2; + y = rect->top + MoveDown; // MoveDown is our Pixel count to move down to center + if ((MoveDown == 1) & (y > 1)) // It was 1 and our vertical position was at least 2 + y--; // so we had room to move it up, so make it one less + } else if (flags & DT_BOTTOM) y = rect->bottom + (invert_y ? 0 : -size.cy); #else