diff --git a/reactos/dll/win32/kernel32/mem/global.c b/reactos/dll/win32/kernel32/mem/global.c index 249ad1e058b..9537cbc774a 100644 --- a/reactos/dll/win32/kernel32/mem/global.c +++ b/reactos/dll/win32/kernel32/mem/global.c @@ -224,7 +224,7 @@ GlobalFlags(HGLOBAL hMem) /* Get the lock count first */ uFlags = HandleEntry->LockCount & GMEM_LOCKCOUNT; - /* Now check if it's discarded */ + /* Now check if it's discardable */ if (HandleEntry->Flags & BASE_HEAP_ENTRY_FLAG_REUSABLE) { /* Set the Win32 Flag */ @@ -238,7 +238,10 @@ GlobalFlags(HGLOBAL hMem) uFlags |= GMEM_DDESHARE; } - if (!HandleEntry->Object) uFlags |= GMEM_DISCARDED; + /* Now check if it's discarded */ + if (HandleEntry->Flags & BASE_HEAP_ENTRY_FLAG_REUSE) + /* Set the Win32 Flag */ + uFlags |= GMEM_DISCARDED; } } diff --git a/reactos/dll/win32/kernel32/mem/local.c b/reactos/dll/win32/kernel32/mem/local.c index c9fa594562d..61428b97166 100644 --- a/reactos/dll/win32/kernel32/mem/local.c +++ b/reactos/dll/win32/kernel32/mem/local.c @@ -201,14 +201,17 @@ LocalFlags(HLOCAL hMem) /* Get the lock count first */ uFlags = HandleEntry->LockCount & LMEM_LOCKCOUNT; - /* Now check if it's discarded */ + /* Now check if it's discardable */ if (HandleEntry->Flags & BASE_HEAP_ENTRY_FLAG_REUSABLE) { /* Set the Win32 Flag */ uFlags |= LMEM_DISCARDABLE; } - if (!HandleEntry->Object) uFlags |= LMEM_DISCARDED; + /* Now check if it's discarded */ + if (HandleEntry->Flags & BASE_HEAP_ENTRY_FLAG_REUSE) + /* Set the Win32 Flag */ + uFlags |= LMEM_DISCARDED; } }