33 lines
778 B
Diff
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");
|