diff -ur ooo_SRC680_m233_src.orig/psprint/source/fontsubset/sft.c ooo_SRC680_m233_src/psprint/source/fontsubset/sft.c
--- ooo_SRC680_m233_src.orig/psprint/source/fontsubset/sft.c	2007-10-13 11:43:09.000000000 +0200
+++ ooo_SRC680_m233_src/psprint/source/fontsubset/sft.c	2007-10-13 11:44:05.000000000 +0200
@@ -654,7 +654,7 @@
         index = GetUInt16(ptr, 2, 1);
         ptr += 4;
 
-        if (listFind(glyphlist, (void *) (int) index)) {
+        if (listFind(glyphlist, (void *) (sal_IntPtr) index)) {
 #if OSL_DEBUG_LEVEL > 1
             fprintf(stderr, "Endless loop found in a compound glyph.\n");
             fprintf(stderr, "%d -> ", index);
@@ -668,7 +668,7 @@
 #endif
         }
 
-        listAppend(glyphlist, (void *) (int) index);
+        listAppend(glyphlist, (void *) (sal_IntPtr) index);
 
 #ifdef DEBUG2
         fprintf(stderr,"glyphlist: += %d\n", index);
@@ -852,7 +852,7 @@
         if (!glyphlist) {
             glyphlistFlag = 1;
             glyphlist = listNewEmpty();
-            listAppend(glyphlist, (void *) glyphID);
+            listAppend(glyphlist, (void *) (sal_IntPtr) glyphID);
         }
         res = GetCompoundTTOutline(ttf, glyphID, pointArray, metrics, glyphlist);
         if (glyphlistFlag) {
@@ -1948,7 +1948,7 @@
     if (glyphID >= ttf->nglyphs) return 0;
     ptr = glyf + ttf->goffsets[glyphID];
 
-    listAppend(glyphlist, (void *) glyphID);
+    listAppend(glyphlist, (void *) (sal_IntPtr) glyphID);
 
     if (GetInt16(ptr, 0, 1) == -1) {
         sal_uInt16 flags, index;
diff -ur ooo_SRC680_m233_src.orig/psprint/source/fontsubset/ttcr.c ooo_SRC680_m233_src/psprint/source/fontsubset/ttcr.c
--- ooo_SRC680_m233_src.orig/psprint/source/fontsubset/ttcr.c	2007-10-13 11:43:09.000000000 +0200
+++ ooo_SRC680_m233_src/psprint/source/fontsubset/ttcr.c	2007-10-13 11:44:05.000000000 +0200
@@ -1353,7 +1353,7 @@
         listPositionAt(glyphlist, 1);       /* glyphData->glyphID is always the first glyph on the list */
         do {
             int found = 0;
-            currentID = (sal_uInt32) listCurrent(glyphlist);
+            currentID = (sal_uIntPtr) listCurrent(glyphlist);
             /* XXX expensive! should be rewritten with sorted arrays! */
             listToFirst(l);
             do {
diff -ur ooo_SRC680_m233_src.orig/vcl/source/gdi/outmap.cxx ooo_SRC680_m233_src/vcl/source/gdi/outmap.cxx
--- ooo_SRC680_m233_src.orig/vcl/source/gdi/outmap.cxx	2007-10-13 11:43:21.000000000 +0200
+++ ooo_SRC680_m233_src/vcl/source/gdi/outmap.cxx	2007-10-13 11:44:05.000000000 +0200
@@ -426,6 +426,8 @@
 static long ImplLogicToPixel( long n, long nDPI, long nMapNum, long nMapDenom,
 							  long nThres )
 {
+    // To "use" it...
+    (void) nThres;
 #ifdef USE_64BIT_INTS
 #if (SAL_TYPES_SIZEOFLONG < 8)
     if( (+n < nThres) && (-n < nThres) )
@@ -489,6 +491,8 @@
 static long ImplPixelToLogic( long n, long nDPI, long nMapNum, long nMapDenom,
 							  long nThres )
 {
+    // To "use" it...
+   (void) nThres;
 #ifdef USE_64BIT_INTS
 #if (SAL_TYPES_SIZEOFLONG < 8)
     if( (+n < nThres) && (-n < nThres) )
diff -ur ooo_SRC680_m233_src.orig/vcl/source/window/syswin.cxx ooo_SRC680_m233_src/vcl/source/window/syswin.cxx
--- ooo_SRC680_m233_src.orig/vcl/source/window/syswin.cxx	2007-10-13 11:43:23.000000000 +0200
+++ ooo_SRC680_m233_src/vcl/source/window/syswin.cxx	2007-10-13 11:44:05.000000000 +0200
@@ -704,15 +704,15 @@
                         if( abs(g.nX-aState.mnX) < 2 && abs(g.nY-aState.mnY) < 5 )
                         {
                             long displacement = g.nTopDecoration ? g.nTopDecoration : 20;
-                            if( aState.mnX + displacement + aState.mnWidth + g.nRightDecoration > (unsigned long) aDesktop.nRight ||
-                                aState.mnY + displacement + aState.mnHeight + g.nBottomDecoration > (unsigned long) aDesktop.nBottom )
+                            if( (unsigned long) (aState.mnX + displacement + aState.mnWidth + g.nRightDecoration) > (unsigned long) aDesktop.nRight ||
+                                (unsigned long) (aState.mnY + displacement + aState.mnHeight + g.nBottomDecoration) > (unsigned long) aDesktop.nBottom )
                             {
                                 // displacing would leave screen 
                                 aState.mnX = g.nLeftDecoration ? g.nLeftDecoration : 10; // should result in (0,0)
                                 aState.mnY = displacement;
                                 if( bWrapped ||
-                                    aState.mnX + displacement + aState.mnWidth + g.nRightDecoration > (unsigned long) aDesktop.nRight ||
-                                    aState.mnY + displacement + aState.mnHeight + g.nBottomDecoration > (unsigned long) aDesktop.nBottom )
+                                    (unsigned long) (aState.mnX + displacement + aState.mnWidth + g.nRightDecoration) > (unsigned long) aDesktop.nRight ||
+                                    (unsigned long) (aState.mnY + displacement + aState.mnHeight + g.nBottomDecoration) > (unsigned long) aDesktop.nBottom )
                                     break;  // further displacement not possible -> break
                                 // avoid endless testing
                                 bWrapped = TRUE;
