Author: jimtabor
Date: Tue Feb 25 05:29:00 2014
New Revision: 62327
URL:
http://svn.reactos.org/svn/reactos?rev=62327&view=rev
Log:
[Win32ss]
- MapWindowPoints return incorrect result for windows with WS_EX_LAYOUTRTL style.
- Patch by Maxim Andreyanov. see CORE-7947.
Modified:
trunk/reactos/win32ss/user/ntuser/window.c
trunk/reactos/win32ss/user/ntuser/winpos.c
trunk/reactos/win32ss/user/user32/windows/winpos.c
Modified: trunk/reactos/win32ss/user/ntuser/window.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/window…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/window.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/window.c [iso-8859-1] Tue Feb 25 05:29:00 2014
@@ -2313,6 +2313,17 @@
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 */
Modified: trunk/reactos/win32ss/user/ntuser/winpos.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/winpos…
==============================================================================
--- trunk/reactos/win32ss/user/ntuser/winpos.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/winpos.c [iso-8859-1] Tue Feb 25 05:29:00 2014
@@ -119,8 +119,6 @@
Delta.x -= Change * ToWnd->rcClient.left;
Delta.y -= ToWnd->rcClient.top;
}
-
- if (mirror_from) Delta.x = -Delta.x;
for (i = 0; i != cPoints; i++)
{
Modified: trunk/reactos/win32ss/user/user32/windows/winpos.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/user32/window…
==============================================================================
--- trunk/reactos/win32ss/user/user32/windows/winpos.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/user32/windows/winpos.c [iso-8859-1] Tue Feb 25 05:29:00
2014
@@ -218,8 +218,6 @@
Delta.y -= ToWnd->rcClient.top;
}
- if (mirror_from) Delta.x = -Delta.x;
-
for (i = 0; i != cPoints; i++)
{
lpPoints[i].x += Delta.x;