Fixed bug #421 SDL-1.2
authorSam Lantinga <slouken@libsdl.org>
Mon, 13 Apr 2009 09:03:35 +0000
branchSDL-1.2
changeset 4173 34068be6aa0b
parent 4172 48f1406df2a8
child 4174 3370c734fd49
Fixed bug #421 Comment #3 From esigra@gmail.com 2008-04-09 11:46:46 (-) [reply] ------- This bug also needs to be fixed for SDL_GetRGB and SDL_GetRGBA (those should not change the format of the surface either). Until this is fixed, I still need to const_cast the format parameter in calls to those functions.
include/SDL_video.h
src/video/SDL_pixels.c
--- a/include/SDL_video.h	Mon Apr 13 08:49:41 2009 +0000
+++ b/include/SDL_video.h	Mon Apr 13 09:03:35 2009 +0000
@@ -460,14 +460,16 @@
 /*
  * Maps a pixel value into the RGB components for a given pixel format
  */
-extern DECLSPEC void SDLCALL SDL_GetRGB(Uint32 pixel, SDL_PixelFormat *fmt,
+extern DECLSPEC void SDLCALL SDL_GetRGB(Uint32 pixel,
+				const SDL_PixelFormat * const fmt,
 				Uint8 *r, Uint8 *g, Uint8 *b);
 
 /*
  * Maps a pixel value into the RGBA components for a given pixel format
  */
-extern DECLSPEC void SDLCALL SDL_GetRGBA(Uint32 pixel, SDL_PixelFormat *fmt,
-				 Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a);
+extern DECLSPEC void SDLCALL SDL_GetRGBA(Uint32 pixel,
+				const SDL_PixelFormat * const fmt,
+				Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a);
 
 /*
  * Allocate and free an RGB surface (must be called after SDL_SetVideoMode)
--- a/src/video/SDL_pixels.c	Mon Apr 13 08:49:41 2009 +0000
+++ b/src/video/SDL_pixels.c	Mon Apr 13 09:03:35 2009 +0000
@@ -366,7 +366,7 @@
 	}
 }
 
-void SDL_GetRGBA(Uint32 pixel, SDL_PixelFormat *fmt,
+void SDL_GetRGBA(Uint32 pixel, const SDL_PixelFormat * const fmt,
 		 Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a)
 {
 	if ( fmt->palette == NULL ) {
@@ -400,7 +400,8 @@
 	}
 }
 
-void SDL_GetRGB(Uint32 pixel, SDL_PixelFormat *fmt, Uint8 *r,Uint8 *g,Uint8 *b)
+void SDL_GetRGB(Uint32 pixel, const SDL_PixelFormat * const fmt,
+                Uint8 *r,Uint8 *g,Uint8 *b)
 {
 	if ( fmt->palette == NULL ) {
 	        /* the note for SDL_GetRGBA above applies here too */