diff --git a/reactos/win32ss/gdi/eng/semaphor.c b/reactos/win32ss/gdi/eng/semaphor.c index 48ee574f24a..fa72ea3fa7d 100644 --- a/reactos/win32ss/gdi/eng/semaphor.c +++ b/reactos/win32ss/gdi/eng/semaphor.c @@ -68,7 +68,14 @@ EngReleaseSemaphore( { // www.osr.com/ddk/graphics/gdifncs_5u3r.htm PTHREADINFO W32Thread; - ASSERT(hsem); + + /* On Windows a NULL hsem is ignored */ + if (hsem == NULL) + { + DPRINT1("EngReleaseSemaphore called with hsem == NULL!\n"); + return; + } + W32Thread = PsGetThreadWin32Thread(PsGetCurrentThread()); if (W32Thread) --W32Thread->dwEngAcquireCount; ExReleaseResourceAndLeaveCriticalRegion((PERESOURCE)hsem);