mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 17:44:45 +00:00
Fix ref counting bug
svn path=/trunk/; revision=12749
This commit is contained in:
parent
91fc5d1804
commit
0f86e212b1
1 changed files with 14 additions and 10 deletions
|
@ -343,21 +343,25 @@ IntFindExistingCurIconObject(PWINSTATION_OBJECT WinStaObject, HMODULE hModule,
|
|||
{
|
||||
Object = CONTAINING_RECORD(CurrentEntry, CURICON_OBJECT, ListEntry);
|
||||
CurrentEntry = CurrentEntry->Flink;
|
||||
if((Object->hModule == hModule) && (Object->hRsrc == hRsrc))
|
||||
if(NT_SUCCESS(ObmReferenceObjectByPointer(Object, otCursorIcon)))
|
||||
{
|
||||
if(cx && ((cx != Object->Size.cx) || (cy != Object->Size.cy)))
|
||||
{
|
||||
ObmDereferenceObject(Object);
|
||||
continue;
|
||||
}
|
||||
if (! ReferenceCurIconByProcess(Object))
|
||||
if((Object->hModule == hModule) && (Object->hRsrc == hRsrc))
|
||||
{
|
||||
if(cx && ((cx != Object->Size.cx) || (cy != Object->Size.cy)))
|
||||
{
|
||||
ObmDereferenceObject(Object);
|
||||
continue;
|
||||
}
|
||||
if (! ReferenceCurIconByProcess(Object))
|
||||
{
|
||||
ExReleaseFastMutex(&CurIconListLock);
|
||||
return NULL;
|
||||
}
|
||||
ExReleaseFastMutex(&CurIconListLock);
|
||||
return NULL;
|
||||
return Object;
|
||||
}
|
||||
ExReleaseFastMutex(&CurIconListLock);
|
||||
return Object;
|
||||
}
|
||||
ObmDereferenceObject(Object);
|
||||
}
|
||||
|
||||
ExReleaseFastMutex(&CurIconListLock);
|
||||
|
|
Loading…
Reference in a new issue