On 10/28/2012 04:59, max@mtew.isa-geek.net wrote:
From: Max TenEyck Woodbury max@mtew.isa-geek.net
dlls/gdi32/freetype.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index 6af977c..3379c6e 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -3820,7 +3820,7 @@ static struct font_mapping *map_font_file( const char *name ) { if (mapping->dev == st.st_dev && mapping->ino == st.st_ino) {
mapping->refcount++;
InterlockedIncrement(&mapping->refcount); close( fd ); return mapping; }
@@ -3850,7 +3850,7 @@ error:
static void unmap_font_file( struct font_mapping *mapping ) {
- if (!--mapping->refcount)
- if (!InterlockedDecrement(&mapping->refcount)) { list_remove( &mapping->entry ); munmap( mapping->data, mapping->size );
How does it help exactly and what is the problem with this code?