Made sure the BitmapSource subclasses do not reuse a BitArray which is too small.
authordswitkin <dswitkin@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Thu, 10 Apr 2008 20:57:37 +0000 (20:57 +0000)
committerdswitkin <dswitkin@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Thu, 10 Apr 2008 20:57:37 +0000 (20:57 +0000)
git-svn-id: http://zxing.googlecode.com/svn/trunk@355 59b500cc-1b3d-0410-9834-0bbf25fbcc57

android-m3/src/com/google/zxing/client/android/RGBMonochromeBitmapSource.java
android/src/com/google/zxing/client/android/RGBMonochromeBitmapSource.java
javame/src/com/google/zxing/client/j2me/LCDUIImageMonochromeBitmapSource.java
javase/src/com/google/zxing/client/j2se/BufferedImageMonochromeBitmapSource.java

index 5e6faa0..2fe42c5 100755 (executable)
@@ -52,7 +52,7 @@ final class RGBMonochromeBitmapSource implements MonochromeBitmapSource {
   }
 
   public BitArray getBlackRow(int y, BitArray row, int startX, int getWidth) {
-    if (row == null) {
+    if (row == null || row.getSize() < getWidth) {
       row = new BitArray(getWidth);
     } else {
       row.clear();
index 100a9d4..7461d0a 100755 (executable)
@@ -55,7 +55,7 @@ final class RGBMonochromeBitmapSource implements MonochromeBitmapSource {
   }
 
   public BitArray getBlackRow(int y, BitArray row, int startX, int getWidth) {
-    if (row == null) {
+    if (row == null || row.getSize() < getWidth) {
       row = new BitArray(getWidth);
     } else {
       row.clear();
index cadb815..266cebf 100644 (file)
@@ -57,7 +57,7 @@ public final class LCDUIImageMonochromeBitmapSource implements MonochromeBitmapS
   }
 
   public BitArray getBlackRow(int y, BitArray row, int startX, int getWidth) {
-    if (row == null) {
+    if (row == null || row.getSize() < getWidth) {
       row = new BitArray(getWidth);
     } else {
       row.clear();
index dd7c584..0ec7081 100644 (file)
@@ -109,7 +109,7 @@ public final class BufferedImageMonochromeBitmapSource implements MonochromeBitm
   }
 
   public BitArray getBlackRow(int y, BitArray row, int startX, int getWidth) {
-    if (row == null) {
+    if (row == null || row.getSize() < getWidth) {
       row = new BitArray(getWidth);
     } else {
       row.clear();