diff -Naur SDL_ttf-2.0.10/SDL_ttf.c SDL_ttf-2.0.10.orig/SDL_ttf.c
--- SDL_ttf-2.0.10.orig/SDL_ttf.c	2012-07-21 16:47:06.000000000 +0200
+++ SDL_ttf-2.0.10/SDL_ttf.c	2009-10-19 10:18:05.000000000 +0200
@@ -1319,7 +1319,7 @@
	}
 
 	/* Create the target surface */
-	textbuf = SDL_AllocSurface(SDL_SWSURFACE, width, height, 8, 0, 0, 0, 0);
+	textbuf = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 8, 0, 0, 0, 0);
 	if( textbuf == NULL ) {
 		return NULL;
 	}
@@ -1336,7 +1336,7 @@
 	palette->colors[1].r = fg.r;
 	palette->colors[1].g = fg.g;
 	palette->colors[1].b = fg.b;
-	SDL_SetColorKey( textbuf, SDL_SRCCOLORKEY, 0 );
+	SDL_SetColorKey( textbuf, SDL_TRUE, 0 );
 
 	/* check kerning */
 	use_kerning = FT_HAS_KERNING( font->face ) && font->kerning;
@@ -1461,7 +1461,7 @@
 	palette->colors[1].r = fg.r;
 	palette->colors[1].g = fg.g;
 	palette->colors[1].b = fg.b;
-	SDL_SetColorKey(textbuf, SDL_SRCCOLORKEY, 0);
+	SDL_SetColorKey(textbuf, SDL_TRUE, 0);
 
 	/* Copy the character from the pixmap */
 	src = glyph->bitmap.buffer;
@@ -1574,7 +1574,7 @@
 	}
 
 	/* Create the target surface */
-	textbuf = SDL_AllocSurface(SDL_SWSURFACE, width, height, 8, 0, 0, 0, 0);
+	textbuf = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 8, 0, 0, 0, 0);
 	if( textbuf == NULL ) {
 		return NULL;
 	}
@@ -1831,7 +1831,7 @@
 	}
 
 	/* Create the target surface */
-	textbuf = SDL_AllocSurface(SDL_SWSURFACE, width, height, 32,
+	textbuf = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32,
 	                           0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000);
 	if ( textbuf == NULL ) {
 		return(NULL);