[WIN32SS][NTUSER] Fix ScrollWindowEx SW_SCROLLCHILDREN (#2327)
authorKatayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Tue, 11 Feb 2020 11:59:14 +0000 (20:59 +0900)
committerGitHub <noreply@github.com>
Tue, 11 Feb 2020 11:59:14 +0000 (20:59 +0900)
Based on the patch of I_Kill_Bugs of JIRA user. CORE-16687, CORE-12114

win32ss/user/ntuser/scrollex.c

index c344cec..82f248e 100644 (file)
@@ -385,6 +385,10 @@ IntScrollWindowEx(
          rcChild = Child->rcWindow;
          RECTL_vOffsetRect(&rcChild, -ClientOrigin.x, -ClientOrigin.y);
 
          rcChild = Child->rcWindow;
          RECTL_vOffsetRect(&rcChild, -ClientOrigin.x, -ClientOrigin.y);
 
+         /* Adjust window positions */
+         RECTL_vOffsetRect(&Child->rcWindow, dx, dy);
+         RECTL_vOffsetRect(&Child->rcClient, dx, dy);
+
          if (!prcScroll || RECTL_bIntersectRect(&rcDummy, &rcChild, &rcScroll))
          {
             UserRefObjectCo(Child, &WndRef);
          if (!prcScroll || RECTL_bIntersectRect(&rcDummy, &rcChild, &rcScroll))
          {
             UserRefObjectCo(Child, &WndRef);