Hi,
Here is a list of files that use ntuser/object.c
As you all see, we Dereference more than we Reference! Reference is 0 so we are
using Dereference as a delete? This is a mess! Not once is a Thread referenced!
Thanks,
James
./callproc.c:52: ObmDeleteObject(Handle,
./hook.c:209: ObmDeleteObject(Hook->Self, otHook);
./cursoricon.c:413: ObmDeleteObject(hCurIcon, otCursorIcon);
./cursoricon.c:487: Ret = ObmDeleteObject(CurIcon->Self, otCursorIcon);
./menu.c:320: ObmDeleteObject(Menu->MenuInfo.Self, otMenu);
./window.c:433: ObmDeleteObject(Window->hSelf, otWindow);
./accelerator.c:365: ObmDeleteObject(hAccel, otAccel);
./accelerator.c:374: ObmDeleteObject(hAccel, otAccel);
./accelerator.c:414: ObmDeleteObject(hAccel, otAccel);
./callproc.c:64: NewCallProc = (PCALLPROC)ObmCreateObject(gHandleTable,
./callproc.c:88: NewCallProc = (PCALLPROC)ObmCreateObject(gHandleTable,
./hook.c:113: Hook = ObmCreateObject(gHandleTable, &Handle, otHook,
sizeof(HOOK));
./monitor.c:92: Monitor = ObmCreateObject(gHandleTable, &Handle,
otMonitor, sizeof (MONITOR_OBJECT));
./cursoricon.c:399: CurIcon = ObmCreateObject(gHandleTable,
&hCurIcon, otCursorIcon, sizeof(CURICON_OBJECT));
./menu.c:333: Menu = (PMENU_OBJECT)ObmCreateObject(
./menu.c:442: Menu = (PMENU_OBJECT)ObmCreateObject(
./window.c:1537: ObmCreateObject(gHandleTable, (PHANDLE)&hWnd,
./accelerator.c:351: Accel = ObmCreateObject(gHandleTable,
(PHANDLE)&hAccel, otAccel, sizeof(ACCELERATOR_TABLE));
./input.c:1045: ObmDereferenceObject(DesktopWindow);
./msgqueue.c:776: ObmDereferenceObject(Window);
./hook.c:449: ObmDereferenceObject(HookObj);
./hook.c:455: ObmDereferenceObject(HookObj);
./hook.c:624: ObmDereferenceObject(Hook);
./hook.c:639: ObmDereferenceObject(Hook);
./hook.c:656: ObmDereferenceObject(Hook);
./hook.c:673: ObmDereferenceObject(Hook);
./hook.c:738: ObmDereferenceObject(HookObj);
./monitor.c:119: ObmDereferenceObject(pMonitor);
./cursoricon.c:375:// ObmDereferenceObject(CurIcon);
./cursoricon.c:386:// ObmDereferenceObject(CurIcon);
./cursoricon.c:414: ObmDereferenceObject(CurIcon);
./cursoricon.c:420: ObmDereferenceObject(CurIcon);
./cursoricon.c:532:// ObmDereferenceObject(Object);
./cursoricon.c:369:// ObmReferenceObject( CurIcon);
./cursoricon.c:519:// ObmReferenceObject(CurIcon);