https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5214a38fd0eb208cbe4ba0f7bafcac042815d5e5

commit 5214a38fd0eb208cbe4ba0f7bafcac042815d5e5
Author:     jimtabor <[email protected]>
AuthorDate: Mon Dec 9 11:18:32 2019 -0600
Commit:     jimtabor <[email protected]>
CommitDate: Mon Dec 9 11:18:32 2019 -0600

    [Win32SS] Fix Opaque Text Fade while in Desktop Startup
    
    See CORE-16498.
---
 win32ss/gdi/gdi32/objects/region.c | 2 --
 win32ss/gdi/ntgdi/dclife.c         | 3 ---
 win32ss/user/rtl/text.c            | 3 ++-
 3 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/win32ss/gdi/gdi32/objects/region.c 
b/win32ss/gdi/gdi32/objects/region.c
index ef1e892bdd8..5ba168d9fdb 100644
--- a/win32ss/gdi/gdi32/objects/region.c
+++ b/win32ss/gdi/gdi32/objects/region.c
@@ -64,7 +64,6 @@ FASTCALL
 DeleteRegion(
     _In_ HRGN hrgn)
 {
-#if 0
     PRGN_ATTR Rgn_Attr = GdiGetRgnAttr(hrgn);
 
     if ( Rgn_Attr )
@@ -78,7 +77,6 @@ DeleteRegion(
             return TRUE;
         }
     }
-#endif
     return NtGdiDeleteObjectApp(hrgn);
 }
 
diff --git a/win32ss/gdi/ntgdi/dclife.c b/win32ss/gdi/ntgdi/dclife.c
index 52236c037c3..1046ad7315b 100644
--- a/win32ss/gdi/ntgdi/dclife.c
+++ b/win32ss/gdi/ntgdi/dclife.c
@@ -949,9 +949,6 @@ BOOL
 APIENTRY
 NtGdiDeleteObjectApp(HANDLE hobj)
 {
-    /* Complete all pending operations */
-    //NtGdiFlushUserBatch(); // FIXME: We shouldn't need this
-
     if (GDI_HANDLE_IS_STOCKOBJ(hobj)) return TRUE;
 
     if (GreGetObjectOwner(hobj) != GDI_OBJ_HMGR_POWNED)
diff --git a/win32ss/user/rtl/text.c b/win32ss/user/rtl/text.c
index 7670e2e5956..dba4c57dbbb 100644
--- a/win32ss/user/rtl/text.c
+++ b/win32ss/user/rtl/text.c
@@ -1374,7 +1374,8 @@ INT WINAPI DrawTextExWorker( HDC hdc,
 #ifndef _WIN32K_
     if (!(flags & DT_NOCLIP) )
     {
-       SelectClipRgn(hdc, hrgn);
+       SelectClipRgn(hdc, hrgn); // This should be NtGdiExtSelectClipRgn, but 
due to ReactOS build rules this option is next:
+       GdiFlush();               // Flush the batch and level up! See 
CORE-16498.
        if (hrgn)
        {
           DeleteObject(hrgn);

Reply via email to