On 2016-12-22 11:39, jimtabor@svn.reactos.org wrote:
+#ifndef _WIN32K_ ///// Fix CORE-2201.
- if (!(flags & DT_NOCLIP) )
- {
int hasClip;hrgn = CreateRectRgn(0,0,0,0);if (hrgn){hasClip = GetClipRgn(hdc, hrgn);// If the region to be retrieved is NULL, the return value is 0.if (hasClip != 1){DeleteObject(hrgn);hrgn = NULL;}IntersectClipRect(hdc, rect->left, rect->top, rect->right, rect->bottom);}- }
+#else
- if (!(flags & DT_NOCLIP) )
- {
int hasClip;hrgn = NtGdiCreateRectRgn(0,0,0,0);if (hrgn){hasClip = NtGdiGetRandomRgn(hdc, hrgn, CLIPRGN);if (hasClip != 1){GreDeleteObject(hrgn);hrgn = NULL;}NtGdiIntersectClipRect(hdc, rect->left, rect->top, rect->right, rect->bottom);}- }
+#endif /////
Any particular reason not to simply do the NtGdi call in both user and kernel? Looks like they should be doing the exact same thing.
Wow, too much in my inbox!
Yeah, I guess we can just go with NtGDI only calls.
On Sun, Dec 25, 2016 at 10:35 AM, Thomas Faber thomas.faber@reactos.org wrote:
On 2016-12-22 11:39, jimtabor@svn.reactos.org wrote:
+#ifndef _WIN32K_ ///// Fix CORE-2201.
- if (!(flags & DT_NOCLIP) )
- {
int hasClip;hrgn = CreateRectRgn(0,0,0,0);if (hrgn){hasClip = GetClipRgn(hdc, hrgn);// If the region to be retrieved is NULL, the return value is
if (hasClip != 1){DeleteObject(hrgn);hrgn = NULL;}IntersectClipRect(hdc, rect->left, rect->top, rect->right,rect->bottom);
}- }
+#else
- if (!(flags & DT_NOCLIP) )
- {
int hasClip;hrgn = NtGdiCreateRectRgn(0,0,0,0);if (hrgn){hasClip = NtGdiGetRandomRgn(hdc, hrgn, CLIPRGN);if (hasClip != 1){GreDeleteObject(hrgn);hrgn = NULL;}NtGdiIntersectClipRect(hdc, rect->left, rect->top,rect->right, rect->bottom);
}- }
+#endif /////
Any particular reason not to simply do the NtGdi call in both user and kernel? Looks like they should be doing the exact same thing.
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev