user32: Get rid of the unused icon cache refcount.

This commit is contained in:
Alexandre Julliard 2010-10-08 15:09:37 +02:00
parent 975bff627b
commit d9ae28926b
1 changed files with 1 additions and 30 deletions

View File

@ -85,9 +85,6 @@ typedef struct tagICONCACHE
HRSRC hRsrc; HRSRC hRsrc;
HRSRC hGroupRsrc; HRSRC hGroupRsrc;
HICON hIcon; HICON hIcon;
INT count;
} ICONCACHE; } ICONCACHE;
static struct list icon_cache = LIST_INIT( icon_cache ); static struct list icon_cache = LIST_INIT( icon_cache );
@ -412,7 +409,6 @@ static HICON CURSORICON_FindSharedIcon( HMODULE hModule, HRSRC hRsrc )
LIST_FOR_EACH_ENTRY( ptr, &icon_cache, ICONCACHE, entry ) LIST_FOR_EACH_ENTRY( ptr, &icon_cache, ICONCACHE, entry )
if ( ptr->hModule == hModule && ptr->hRsrc == hRsrc ) if ( ptr->hModule == hModule && ptr->hRsrc == hRsrc )
{ {
ptr->count++;
hIcon = ptr->hIcon; hIcon = ptr->hIcon;
break; break;
} }
@ -468,36 +464,12 @@ static void CURSORICON_AddSharedIcon( HMODULE hModule, HRSRC hRsrc, HRSRC hGroup
ptr->hRsrc = hRsrc; ptr->hRsrc = hRsrc;
ptr->hIcon = hIcon; ptr->hIcon = hIcon;
ptr->hGroupRsrc = hGroupRsrc; ptr->hGroupRsrc = hGroupRsrc;
ptr->count = 1;
EnterCriticalSection( &IconCrst ); EnterCriticalSection( &IconCrst );
list_add_head( &icon_cache, &ptr->entry ); list_add_head( &icon_cache, &ptr->entry );
LeaveCriticalSection( &IconCrst ); LeaveCriticalSection( &IconCrst );
} }
/**********************************************************************
* CURSORICON_DelSharedIcon
*/
static INT CURSORICON_DelSharedIcon( HICON hIcon )
{
INT count = -1;
ICONCACHE *ptr;
EnterCriticalSection( &IconCrst );
LIST_FOR_EACH_ENTRY( ptr, &icon_cache, ICONCACHE, entry )
if ( ptr->hIcon == hIcon )
{
if ( ptr->count > 0 ) ptr->count--;
count = ptr->count;
break;
}
LeaveCriticalSection( &IconCrst );
return count;
}
/********************************************************************** /**********************************************************************
* get_icon_size * get_icon_size
*/ */
@ -1599,8 +1571,7 @@ BOOL WINAPI DestroyIcon( HICON hIcon )
{ {
TRACE_(icon)("%p\n", hIcon ); TRACE_(icon)("%p\n", hIcon );
if (CURSORICON_DelSharedIcon( hIcon ) == -1) if (!CURSORICON_FindCache( hIcon )) free_icon_handle( hIcon );
free_icon_handle( hIcon );
return TRUE; return TRUE;
} }