Mercurial > sdl-ios-xcode
view src/thread/win32/win_ce_semaphore.h @ 997:3bf4103b2b89
Date: Sat, 27 Nov 2004 13:35:43 +0100
From: "Martin Bickel"
Subject: [SDL] Patch: fixing uninitilized palette
while running Valgrind over my application I found the following
problem in SDL:
The function MapNto1 allocates SDL_Color colors[256] but does not
initialize it.
SDL_DitherColors is then called which initialized the r, g and b
component, but not the 'unused' component of each color.
When Map1to1 is called from MapNto1, it runs a memcmp on the colors,
which also evaluates the unused component and therefor returns
differences much more often than necessary.
So the 'unused' component of SDL_Color should be initialized. This
patch does this by calling memset for the whole array in MapNto1 .
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 30 Nov 2004 14:28:20 +0000 |
parents | 13ee9f4834ea |
children | 782fd950bd46 c121d94672cb |
line wrap: on
line source
/* win_ce_semaphore.h - header file to go with win_ce_semaphore.c */ typedef struct _SYNCH_HANDLE_STRUCTURE { HANDLE hEvent; HANDLE hMutex; HANDLE hSemph; LONG MaxCount; volatile LONG CurCount; LPCTSTR lpName; } SYNCH_HANDLE_STRUCTURE, *SYNCHHANDLE; #define SYNCH_HANDLE_SIZE sizeof (SYNCH_HANDLE_STRUCTURE) /* Error codes - all must have bit 29 set */ #define SYNCH_ERROR 0X20000000 /* EXERCISE - REFINE THE ERROR NUMBERS */ extern SYNCHHANDLE CreateSemaphoreCE (LPSECURITY_ATTRIBUTES, LONG, LONG, LPCTSTR); extern BOOL ReleaseSemaphoreCE (SYNCHHANDLE, LONG, LPLONG); extern DWORD WaitForSemaphoreCE (SYNCHHANDLE, DWORD); extern BOOL CloseSynchHandle (SYNCHHANDLE);