Author: jimtabor Date: Sat Sep 6 17:47:45 2014 New Revision: 64054
URL: http://svn.reactos.org/svn/reactos?rev=64054&view=rev Log: [Win32k] - Apply band-aid patch from CORE-8506. Problem still persists, how did a bad region get plugged into the DCE structure?
Modified: trunk/reactos/win32ss/user/ntuser/windc.c
Modified: trunk/reactos/win32ss/user/ntuser/windc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/windc.c... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/windc.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/windc.c [iso-8859-1] Sat Sep 6 17:47:45 2014 @@ -215,7 +215,7 @@ PWND Parent;
Parent = Window->spwndParent; - if(!Parent) + if (!Parent) { RgnVisible = NULL; goto noparent; @@ -252,15 +252,19 @@ noparent: if (Flags & DCX_INTERSECTRGN) { - if(Dce->hrgnClip != NULL) - { - PREGION RgnClip = REGION_LockRgn(Dce->hrgnClip); + PREGION RgnClip = NULL; + + if (Dce->hrgnClip != NULL) + RgnClip = REGION_LockRgn(Dce->hrgnClip); + + if (RgnClip) + { IntGdiCombineRgn(RgnVisible, RgnVisible, RgnClip, RGN_AND); REGION_UnlockRgn(RgnClip); } else { - if(RgnVisible != NULL) + if (RgnVisible != NULL) { REGION_Delete(RgnVisible); }