guix/gnu/packages/patches/sdl-pango-blit_overflow.patch

33 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");