--- screenlib/SDL_FrameBuf.cpp	2001-07-22 23:03:13.000000000 +0200
+++ screenlib/SDL_FrameBuf.cpp	2015-10-09 10:49:12.066602207 +0200
@@ -848,8 +848,8 @@
 			for ( i=0; i<dirtymaplen; ++i ) {
 				if ( dirtymap[i] != NULL ) {
 					dirtymap[i] = (SDL_Rect *)(
-					((int)dirtymap[i]-(int)updatelist) +
-								(int)newlist
+					((ptrdiff_t)dirtymap[i]-(ptrdiff_t)updatelist) +
+								(ptrdiff_t)newlist
 					);
 				}
 			}
