Commit in reactos/subsys/win32k on ros-branch-0_2_5
include/dce.h+1-11.15 -> 1.15.2.1
ntuser/windc.c+19-121.70 -> 1.70.2.1
      /winpos.c+2-41.127 -> 1.127.2.1
+22-17
3 modified files
DceResetActiveDCEs fixes:
- Don't check ownership because window DCs are global now.
- Correctly reposition client DCs (if window style changes).

reactos/subsys/win32k/include
dce.h 1.15 -> 1.15.2.1
diff -u -r1.15 -r1.15.2.1
--- dce.h	12 Dec 2004 01:40:37 -0000	1.15
+++ dce.h	27 Dec 2004 00:39:01 -0000	1.15.2.1
@@ -53,6 +53,6 @@
 PDCE FASTCALL DceFreeDCE(PDCE dce, BOOLEAN Force);
 void FASTCALL DceFreeWindowDCE(PWINDOW_OBJECT Window);
 void FASTCALL DceEmptyCache(void);
-VOID FASTCALL DceResetActiveDCEs(PWINDOW_OBJECT Window, int DeltaX, int DeltaY);
+VOID FASTCALL DceResetActiveDCEs(PWINDOW_OBJECT Window);
 
 #endif /* _WIN32K_DCE_H */

reactos/subsys/win32k/ntuser
windc.c 1.70 -> 1.70.2.1
diff -u -r1.70 -r1.70.2.1
--- windc.c	17 Dec 2004 19:42:46 -0000	1.70
+++ windc.c	27 Dec 2004 00:39:02 -0000	1.70.2.1
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: windc.c,v 1.70 2004/12/17 19:42:46 navaraf Exp $
+/* $Id: windc.c,v 1.70.2.1 2004/12/27 00:39:02 navaraf Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -770,11 +770,13 @@
 }
 
 VOID FASTCALL 
-DceResetActiveDCEs(PWINDOW_OBJECT Window, int DeltaX, int DeltaY)
+DceResetActiveDCEs(PWINDOW_OBJECT Window)
 {
   DCE *pDCE;
   PDC dc;
   PWINDOW_OBJECT CurrentWindow;
+  INT DeltaX;
+  INT DeltaY;
 
   if (NULL == Window)
     {
@@ -801,16 +803,10 @@
                   continue;
                 }
             }
-          if (!GDIOBJ_OwnedByCurrentProcess(pDCE->hDC))
-            {
-              /* skip DCs we don't even own */
-              goto skip;
-            }
 
           dc = DC_LockDc(pDCE->hDC);
           if (dc == NULL)
             {
-skip:
               if (Window->Self != pDCE->hwndCurrent)
                 {
                   IntReleaseWindowObject(CurrentWindow);
@@ -818,11 +814,22 @@
               pDCE = pDCE->next;
               continue;
             }
-          if ((0 != DeltaX || 0 != DeltaY)
-              && (Window == CurrentWindow || IntIsChildWindow(Window->Self, CurrentWindow->Self)))
+          if (Window == CurrentWindow || IntIsChildWindow(Window->Self, CurrentWindow->Self))
             {
-              dc->w.DCOrgX += DeltaX;
-              dc->w.DCOrgY += DeltaY;
+              if (pDCE->DCXFlags & DCX_WINDOW)
+                {
+                  DeltaX = CurrentWindow->WindowRect.left - dc->w.DCOrgX;
+                  DeltaY = CurrentWindow->WindowRect.top - dc->w.DCOrgY;
+                  dc->w.DCOrgX = CurrentWindow->WindowRect.left;
+                  dc->w.DCOrgY = CurrentWindow->WindowRect.top;
+                }
+              else
+                {
+                  DeltaX = CurrentWindow->ClientRect.left - dc->w.DCOrgX;
+                  DeltaY = CurrentWindow->ClientRect.top - dc->w.DCOrgY;
+                  dc->w.DCOrgX = CurrentWindow->ClientRect.left;
+                  dc->w.DCOrgY = CurrentWindow->ClientRect.top;
+                }
               if (NULL != dc->w.hClipRgn)
                 {
                   NtGdiOffsetRgn(dc->w.hClipRgn, DeltaX, DeltaY);

reactos/subsys/win32k/ntuser
winpos.c 1.127 -> 1.127.2.1
diff -u -r1.127 -r1.127.2.1
--- winpos.c	12 Dec 2004 23:08:12 -0000	1.127
+++ winpos.c	27 Dec 2004 00:39:02 -0000	1.127.2.1
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: winpos.c,v 1.127 2004/12/12 23:08:12 navaraf Exp $
+/* $Id: winpos.c,v 1.127.2.1 2004/12/27 00:39:02 navaraf Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -977,9 +977,7 @@
       Window->Style |= WS_VISIBLE;
    }
 
-   DceResetActiveDCEs(Window,
-                      NewWindowRect.left - OldWindowRect.left,
-                      NewWindowRect.top - OldWindowRect.top);
+   DceResetActiveDCEs(Window);
 
    if (!(WinPos.flags & SWP_NOREDRAW))
    {
CVSspam 0.2.8