mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
[Win32ss]
- MapWindowPoints return incorrect result for windows with WS_EX_LAYOUTRTL style. - Patch by Maxim Andreyanov. see CORE-7947. svn path=/trunk/; revision=62327
This commit is contained in:
parent
9b4d645ad0
commit
38758f72ac
3 changed files with 11 additions and 4 deletions
|
@ -2313,6 +2313,17 @@ co_UserCreateWindowEx(CREATESTRUCTW* Cs,
|
|||
ParentWindow->rcClient.top);
|
||||
}
|
||||
*/
|
||||
/* correct child window coordinates if mirroring on parent is enabled */
|
||||
if (ParentWindow != NULL)
|
||||
{
|
||||
if ( ((Cs->style & WS_CHILD) == WS_CHILD) &&
|
||||
((ParentWindow->ExStyle & WS_EX_LAYOUTRTL) == WS_EX_LAYOUTRTL))
|
||||
{
|
||||
Window->rcWindow.right = ParentWindow->rcClient.right - (Window->rcWindow.left - ParentWindow->rcClient.left);
|
||||
Window->rcWindow.left = Window->rcWindow.right - Size.cx;
|
||||
}
|
||||
}
|
||||
|
||||
Window->rcClient = Window->rcWindow;
|
||||
|
||||
/* Link the window */
|
||||
|
|
|
@ -120,8 +120,6 @@ IntMapWindowPoints(PWND FromWnd, PWND ToWnd, LPPOINT lpPoints, UINT cPoints)
|
|||
Delta.y -= ToWnd->rcClient.top;
|
||||
}
|
||||
|
||||
if (mirror_from) Delta.x = -Delta.x;
|
||||
|
||||
for (i = 0; i != cPoints; i++)
|
||||
{
|
||||
lpPoints[i].x += Delta.x;
|
||||
|
|
|
@ -218,8 +218,6 @@ MapWindowPoints(HWND hWndFrom, HWND hWndTo, LPPOINT lpPoints, UINT cPoints)
|
|||
Delta.y -= ToWnd->rcClient.top;
|
||||
}
|
||||
|
||||
if (mirror_from) Delta.x = -Delta.x;
|
||||
|
||||
for (i = 0; i != cPoints; i++)
|
||||
{
|
||||
lpPoints[i].x += Delta.x;
|
||||
|
|
Loading…
Reference in a new issue