Index: /branches/eam_branches/ipp-20131211/Ohana/src/kapa2/src/bDrawObjects.c
===================================================================
--- /branches/eam_branches/ipp-20131211/Ohana/src/kapa2/src/bDrawObjects.c	(revision 36469)
+++ /branches/eam_branches/ipp-20131211/Ohana/src/kapa2/src/bDrawObjects.c	(revision 36470)
@@ -315,4 +315,5 @@
 	D = scaleSize ? dz*z[i] : ds;
 	FillRectangle (buffer, sx, sy, 2*D, 2*D);
+	// plot range saturated by bDrawRectFill
       }
     }
@@ -335,4 +336,5 @@
 	D = scaleSize ? dz*z[i] : ds;
 	DrawRectangle (buffer, sx, sy, 2*D, 2*D);
+	// plot range saturated by bDrawRectOpen
       }
     }
@@ -356,4 +358,5 @@
 	DrawLine (buffer, sx - D, sy, sx + D, sy);
 	DrawLine (buffer, sx, sy - D, sx, sy + D);
+	// out-of-range points skipped by bDrawPoint
       }
     }
@@ -377,4 +380,5 @@
 	DrawLine (buffer, sx + D, sy - D, sx - D, sy + D);
 	DrawLine (buffer, sx - D, sy - D, sx + D, sy + D);
+	// out-of-range points skipped by bDrawPoint
       }
     }
@@ -398,4 +402,5 @@
 	// FillTriangle (buffer, sx - D, sy - 0.58*D, sx + D, sy - 0.58*D, sx, sy + 1.15*D);
 	FillTriangle (buffer, sx, sy + 0.58*D, D, -1.73*D);
+	// out-of-range points skipped by bDrawPoint
       }
     }
@@ -418,4 +423,5 @@
 	D = scaleSize ? dz*z[i] : ds;
 	OpenTriangle (buffer, sx - D, sy + 0.58*D, sx + D, sy + 0.58*D, sx, sy - 1.15*D);
+	// out-of-range points skipped by bDrawPoint
       }
     }
@@ -440,4 +446,5 @@
 	DrawLine (buffer, sx, sy, sx + D, sy - 0.58*D);
 	DrawLine (buffer, sx, sy, sx,     sy + 1.15*D);
+	// out-of-range points skipped by bDrawPoint
       }
     }
@@ -460,4 +467,5 @@
 	D = scaleSize ? dz*z[i] : ds;
 	DrawCircle (buffer, sx, sy, D);
+	// out-of-range points skipped by bDrawPoint
       }
     }
@@ -484,4 +492,5 @@
 	DrawLine (buffer, sx - 0.58*D, sy + 0.81*D, sx - 0.95*D, sy - 0.31*D);
 	DrawLine (buffer, sx - 0.95*D, sy - 0.31*D, sx + 0.00*D, sy - 1.00*D);
+	// out-of-range points skipped by bDrawPoint
       }
     }
@@ -509,4 +518,5 @@
 	DrawLine (buffer, sx + 0.50*D, sy - 0.87*D, sx - 0.50*D, sy - 0.87*D);
 	DrawLine (buffer, sx - 0.50*D, sy - 0.87*D, sx -      D, sy);
+	// out-of-range points skipped by bDrawPoint
       }
     }
@@ -529,4 +539,5 @@
 	D = scaleSize ? dz*z[i] : ds;
 	FillCircle (buffer, sx, sy, D);
+	// out-of-range points skipped by bDrawLineHorizontal
       }
     }
Index: /branches/eam_branches/ipp-20131211/Ohana/src/libkapa/src/bDrawFuncs.c
===================================================================
--- /branches/eam_branches/ipp-20131211/Ohana/src/libkapa/src/bDrawFuncs.c	(revision 36469)
+++ /branches/eam_branches/ipp-20131211/Ohana/src/libkapa/src/bDrawFuncs.c	(revision 36470)
@@ -247,5 +247,10 @@
   int i;
 
+  if (Y <  0) return;
+  if (Y >= buffer[0].Ny) return;
+
   for (i = X1; i < X2; i++) {
+    if (i <  0) continue;
+    if (i >= buffer[0].Nx) continue;
     if (buffer[0].Nbyte == 1) {
       buffer[0].pixels[Y][i] = buffer->bColor;
@@ -263,5 +268,10 @@
   int i;
 
+  if (X <  0) return;
+  if (X >= buffer[0].Nx) return;
+
   for (i = Y1; i < Y2; i++) {
+    if (i <  0) continue;
+    if (i >= buffer[0].Ny) continue;
     if (buffer[0].Nbyte == 1) {
       buffer[0].pixels[i][X] = buffer->bColor;
