Dereference the event if the queue is freed in
IntDereferenceMessageQueue.
Modified: trunk/reactos/subsys/win32k/include/msgqueue.h
_____
Modified: trunk/reactos/subsys/win32k/include/msgqueue.h
--- trunk/reactos/subsys/win32k/include/msgqueue.h 2005-05-27
14:33:41 UTC (rev 15544)
+++ trunk/reactos/subsys/win32k/include/msgqueue.h 2005-05-27
16:28:10 UTC (rev 15545)
@@ -239,6 +239,8 @@
if(InterlockedDecrement(&(MsgQueue)->References) == 0) \
{ \
DPRINT("Free message queue 0x%x\n", (MsgQueue)); \
+ if ((MsgQueue)->NewMessages != NULL) \
+ ObDereferenceObject((MsgQueue)->NewMessages); \
if ((MsgQueue)->NewMessagesHandle != NULL) \
ZwClose((MsgQueue)->NewMessagesHandle); \
ExFreePool((MsgQueue)); \
Show replies by date