From a522461492e3c3f0dd11730ebb652c4fb1f34ee7 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Sat, 11 Jul 2009 22:52:36 +0000 Subject: [PATCH] - Global/LocalFlags, now checking the right bit for discared heap and not doing it the wine way. svn path=/trunk/; revision=41896 --- reactos/dll/win32/kernel32/mem/global.c | 7 +++++-- reactos/dll/win32/kernel32/mem/local.c | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) 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; } }