* gnu/packages/sdl.scm (sdl-pango): New variable. * gnu/packages/patches/sdl-pango-api_additions.patch: New file. * gnu/packages/patches/sdl-pango-blit_overflow.patch: New file. * gnu/packages/patches/sdl-pango-fillrect_crash.patch: New file. * gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapToSurface.patch: New file. * gnu/packages/patches/sdl-pango-matrix_declarations.patch: New file. * gnu/packages/patches/sdl-pango-sans-serif.patch: New file. * gnu/local.mk (sdl-pango): Reference patches. add
		
			
				
	
	
		
			32 lines
		
	
	
	
		
			778 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			778 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
Index: sdlpango-0.1.2/src/SDL_Pango.c
 | 
						|
===================================================================
 | 
						|
--- sdlpango-0.1.2.orig/src/SDL_Pango.c	2007-10-08 19:44:15.000000000 +0000
 | 
						|
+++ sdlpango-0.1.2/src/SDL_Pango.c	2007-10-08 19:45:27.000000000 +0000
 | 
						|
@@ -725,16 +725,23 @@
 | 
						|
     int x = rect->x;
 | 
						|
     int y = rect->y;
 | 
						|
 
 | 
						|
+    if(x < 0) {
 | 
						|
+	width += x; x = 0;
 | 
						|
+    }
 | 
						|
     if(x + width > surface->w) {
 | 
						|
 	width = surface->w - x;
 | 
						|
-	if(width <= 0)
 | 
						|
-	    return;
 | 
						|
+    }
 | 
						|
+    if(width <= 0)
 | 
						|
+	return;
 | 
						|
+
 | 
						|
+    if(y < 0) {
 | 
						|
+	height += y; y = 0;
 | 
						|
     }
 | 
						|
     if(y + height > surface->h) {
 | 
						|
 	height = surface->h - y;
 | 
						|
-	if(height <= 0)
 | 
						|
-	    return;
 | 
						|
     }
 | 
						|
+    if(height <= 0)
 | 
						|
+	return;
 | 
						|
 
 | 
						|
     if(SDL_LockSurface(surface)) {
 | 
						|
 	SDL_SetError("surface lock failed");
 |