Index: trunk/Ohana/src/kapa2/src/Remap16.c
===================================================================
--- trunk/Ohana/src/kapa2/src/Remap16.c	(revision 18279)
+++ trunk/Ohana/src/kapa2/src/Remap16.c	(revision 18324)
@@ -86,5 +86,5 @@
 
     /**** fill in area to the left of the picture ****/
-    for (jj = 0; (i_start > 0) && (jj < expand_out); jj++) { 
+    for (jj = 0; (i_start > 0) && (jj < expand_out) && (j + jj < dy); jj++) { 
       out_pix2 = out_pix + jj*dx;
       for (i = 0; i < i_start; i++, out_pix2++) {
@@ -104,5 +104,5 @@
 	pixvalue = pixel[*in_pix2];
 	out_pix2 = out_pix;
-	for (jj = 0; jj < expand_out; jj++, out_pix2+=(dx-expand_out)) {
+	for (jj = 0; (jj < expand_out) && (j + jj < dy); jj++, out_pix2+=(dx-expand_out)) {
 	  for (ii = 0; ii < expand_out; ii++, out_pix2++) {
 	    *out_pix2 = pixvalue; 
@@ -114,5 +114,5 @@
     
     /**** fill in area to the right of the picture ****/
-    for (jj = 0; jj < expand_out; jj++) {
+    for (jj = 0; (jj < expand_out) && (j + jj < dy); jj++) {
       out_pix2 = out_pix + jj*dx;
       for (i = i_end; i < dx; i++, out_pix2++) {
Index: trunk/Ohana/src/kapa2/src/Remap24.c
===================================================================
--- trunk/Ohana/src/kapa2/src/Remap24.c	(revision 18279)
+++ trunk/Ohana/src/kapa2/src/Remap24.c	(revision 18324)
@@ -84,5 +84,5 @@
 
     /**** fill in area to the left of the picture ****/
-    for (jj = 0; (i_start > 0) && (jj < expand_out); jj++) { 
+    for (jj = 0; (i_start > 0) && (jj < expand_out) && (j + jj < dy); jj++) { 
       out_pix2 = out_pix + jj*(3*dx + extra);
       for (i = 0; i < i_start; i++, out_pix2+=3) {
@@ -108,5 +108,5 @@
 	pixvalue3 = pixel3[*in_pix2];
 	out_pix2 = out_pix;
-	for (jj = 0; jj < expand_out; jj++, out_pix2+=3*(dx-expand_out)+extra) {
+	for (jj = 0; (jj < expand_out) && (j + jj < dy); jj++, out_pix2+=3*(dx-expand_out)+extra) {
 	  for (ii = 0; ii < expand_out; ii++, out_pix2+=3) {
 	    out_pix2[0] = pixvalue1; 
@@ -120,5 +120,6 @@
     
     /**** fill in area to the right of the picture ****/
-    for (jj = 0; jj < expand_out; jj++) {
+    for (jj = 0; (jj < expand_out) && (j + jj < dy); jj++) {
+      //    for (jj = 0; jj < expand_out; jj++) {
       out_pix2 = out_pix + jj*(3*dx+extra);
       for (i = i_end; i < dx; i++, out_pix2+=3) {
@@ -142,5 +143,5 @@
 
   picture[0].pix = XCreateImage (graphic[0].display, graphic[0].visual, graphic[0].depth, ZPixmap, 0, 
-					picture[0].data, picture[0].dx, picture[0].dy, 32, 0);
+				 picture[0].data, picture[0].dx, picture[0].dy, 32, 0);
 
   free (pixel1);
Index: trunk/Ohana/src/kapa2/src/Remap32.c
===================================================================
--- trunk/Ohana/src/kapa2/src/Remap32.c	(revision 18279)
+++ trunk/Ohana/src/kapa2/src/Remap32.c	(revision 18324)
@@ -100,5 +100,5 @@
 
     /**** fill in area to the left of the picture ****/
-    for (jj = 0; (i_start > 0) && (jj < expand_out); jj++) { 
+    for (jj = 0; (i_start > 0) && (jj < expand_out) && (j + jj < dy); jj++) { 
       out_pix2 = out_pix + jj*dx;
       for (i = 0; i < i_start; i++, out_pix2++) {
@@ -118,5 +118,5 @@
 	pixvalue = pixel[*in_pix2];
 	out_pix2 = out_pix;
-	for (jj = 0; jj < expand_out; jj++, out_pix2+=(dx-expand_out)) {
+	for (jj = 0; (jj < expand_out) && (j + jj < dy); jj++, out_pix2+=(dx-expand_out)) {
 	  for (ii = 0; ii < expand_out; ii++, out_pix2++) {
 	    *out_pix2 = pixvalue;
@@ -133,5 +133,5 @@
 
     /**** fill in area to the right of the picture ****/
-    for (jj = 0; jj < expand_out; jj++) {
+    for (jj = 0; (jj < expand_out) && (j + jj < dy); jj++) {
       out_pix2 = out_pix + jj*dx;
       for (i = i_end; i < dx; i++, out_pix2++) {
Index: trunk/Ohana/src/kapa2/src/Remap8.c
===================================================================
--- trunk/Ohana/src/kapa2/src/Remap8.c	(revision 18279)
+++ trunk/Ohana/src/kapa2/src/Remap8.c	(revision 18324)
@@ -69,5 +69,5 @@
 
     /**** fill in area to the left of the picture ****/
-    for (jj = 0; (i_start > 0) && (jj < expand_out); jj++) { 
+    for (jj = 0; (i_start > 0) && (jj < expand_out) && (j + jj < dy); jj++) { 
       out_pix2 = out_pix + jj*dx;
       for (i = 0; i < i_start; i++, out_pix2++) {
@@ -87,5 +87,5 @@
 	pixvalue = pixel[*in_pix2];
 	out_pix2 = out_pix;
-	for (jj = 0; jj < expand_out; jj++, out_pix2+=(dx-expand_out)) {
+	for (jj = 0; (jj < expand_out) & (j + jj < dy); jj++, out_pix2+=(dx-expand_out)) {
 	  for (ii = 0; ii < expand_out; ii++, out_pix2++) {
 	    *out_pix2 = pixvalue;
@@ -97,5 +97,5 @@
     
     /**** fill in area to the right of the picture ****/
-    for (jj = 0; jj < expand_out; jj++) {
+    for (jj = 0; (jj < expand_out) && (j + jj < dy); jj++) {
       out_pix2 = out_pix + jj*dx;
       for (i = i_end; i < dx; i++, out_pix2++) {
@@ -115,5 +115,5 @@
   }
   picture[0].pix = XCreateImage (graphic[0].display, graphic[0].visual, graphic[0].depth, ZPixmap, 0, 
-					picture[0].data, picture[0].dx, picture[0].dy, 8, 0);
+				 picture[0].data, picture[0].dx, picture[0].dy, 8, 0);
   free (pixel);
 }
